プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。1/3のつもりだけどソフト関連はここがメイン

simple HTML client for mastodon/pleroma 向けのchrome拡張を書きました

simple HTML clientは日々改造を重ねています。現在は、簡易マルチアカウント機能を実装してアカウントを切り替えながら複数のサーバを見に行ったり、サイズが大きい画像を縮小してアップロードするとかいろいろ実装しています。
simplehtmlclient.app

develop.simplehtmlclient.app


今回は、メインの開発とは離れてchrome拡張を実装しました。「mastoshare」というchrome拡張があります。これは拡張画面にサーバを登録しておくと、見ているWebページのタイトルとURLを埋め込んだトゥート画面をボタン一つで呼び出してくれるものです。
chrome.google.com

今回は、これのSHC版を目指しました。ただし、これを始める時点のSHC開発版ではマストドンの標準WebUIのような「URLを呼び出したらコンテンツを埋め込んだトゥート画面が表示される」という機能は実装していなかったので、そこから実装しました。まあ、URLのパラメータに「/toot?content=コンテンツの内容」という感じで埋め込むコンテンツを渡してやるだけですが。この実装を反映したバージョンをdevelop環境(develop.simplehtmlclient.app とdevelop.shc.wlw.pw)に登録しましたので、まずは私がテストで使っている環境と合わせて3つのURLから選んで呼び出す方式にしました。

今回参考にしたサイトは以下のとおりです。
qiita.com

www.ipentec.com

qiita.com

takaya030.hatenablog.com

コードはすぐ書けたのですが、うまく動作しなくて少し悩みました。上記サイトを見直したところ、manifest.jsonでpermissionsを設定していることに気づき設定したところ、動くようになりました。

まだ、ストアには登録していないのでデベロップモードでのインストールです。
インストールするとアイコンが出ます。
f:id:kaias1jp:20191101222020p:plain

貼り付けたいWebページを開きます。
f:id:kaias1jp:20191101222052p:plain

アイコンをクリックすると貼り付けボタンが表示されます。今のバージョンではこの上にサーバを選択するセレクトボックスが表示されています。
f:id:kaias1jp:20191101222135p:plain

ボタンをクリックすると、見ているWebページからタイトルとURLを取得してSHCのToot画面に渡します。
f:id:kaias1jp:20191101222305p:plain

あとは文章を付け足したりしてTootします。

今回のソースコードGithubで公開しています。
github.com

今後はrelease環境をセレクトボックスに加えてより充実させていきたいと思います。