simple HTML clientは日々改造を重ねています。現在は、簡易マルチアカウント機能を実装してアカウントを切り替えながら複数のサーバを見に行ったり、サイズが大きい画像を縮小してアップロードするとかいろいろ実装しています。
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
コードはすぐ書けたのですが、うまく動作しなくて少し悩みました。上記サイトを見直したところ、manifest.jsonでpermissionsを設定していることに気づき設定したところ、動くようになりました。
まだ、ストアには登録していないのでデベロップモードでのインストールです。
インストールするとアイコンが出ます。
貼り付けたいWebページを開きます。
アイコンをクリックすると貼り付けボタンが表示されます。今のバージョンではこの上にサーバを選択するセレクトボックスが表示されています。
ボタンをクリックすると、見ているWebページからタイトルとURLを取得してSHCのToot画面に渡します。
あとは文章を付け足したりしてTootします。
今回のソースコードはGithubで公開しています。
github.com
今後はrelease環境をセレクトボックスに加えてより充実させていきたいと思います。