静的サイトをFediverseに対応させる
当サイトをFediverseに対応させました。 @songmu.jp@songmu.jp でMastodonなどでリモートフォローできます。
やったことは、 このブログがFediverseに対応しました というtyageさんのエントリーをそのままなぞっただけです。このエントリーはh-cardのサイトトップへの掲出に関する説明が書き漏れていそうでしたが、それも実施しました。
当サイトは静的サイトであり、付随機能は外部サービスに頼りたいと考えている。例えば、コメント機能はDisqusを使っている。Fediverseに関しても何かそういうサービスがないかと思っていたが、Bridge Fedというサービスがあり、上記のエントリー内で懇切丁寧に解説されていたので導入は比較的簡単で、作業時間は小一時間でできた。大まかな手順は以下。
- Bridgy Fed というサービスを利用してサイトをFediverseに対応させる
- "/.well-known/host-meta"と"/.well-known/webfinger"を Bridgy Fed にリダイレクトする
- Bridge Fedが当サイトのコンテンツを解析できるように、htmlテンプレートにmicroformatのクラスをいくつか足す
- h-card, h-content, e-entry等
- サイト更新時にBridgy Fedに通知する
- 投稿記事のURLをAPI投稿
- curl一行でいける
- GitHub Actionsに仕込む
- 投稿記事のURLをAPI投稿
- webmention.io との連携
- これは追加対応なのでやらなくてもいいが、単に
<link rel="webmention" href="https://webmention.io/blog.tyage.net/webmention" />
と言ったタグを仕込むだけなのでやると良い - Webmentionは記事への反応や言及を通知するプロトコル
- 現代版Trackbackとも言える存在で、2017年W3C勧告
- Webmentionが実装されたサイトがwebmention.io
- webmention.ioへのログインの仕組みがindieloginというやつで、例えば
<a href="https://github.com/Songmu" rel="me">github.com/Songmu</a>
というタグをトップページに仕込んでおけばGitHubログインできる(他のログイン方法も選べる)というもので、面白かった。
- これは追加対応なのでやらなくてもいいが、単に
当サイトは、Rijiという自作のPerl製の静的サイトジェネレーターで生成したHTMLをFirebase Hostingで配信しています。
やっぱこういう個人サイト弄り楽しいよね、と言う話を来週の YAPC::Hiroshima 2024で「Blogを作り、育み、慈しむ - Blog Hacks 2024」というタイトルで話す のでご興味ある方はぜひ聞きに来てください!