Lumeで新規記事に対してFediverseにtootで自動投稿、その投稿URLを記事に紐付けてコメント対応した

2 min read

Image
こんにちは、無能です。

なんとなーく頭に浮かんでたものですが、CLI上でFediverse投稿見たくて色々ソフトウェアを漁っていたらなんとなくいけそうな気がしてなんとなくいけました。
静的サイトジェネレータで喜ぶな、何人もSSGで更新頓挫して、それか面倒くさくなってWordPressに戻った人々を見ている。私はSSGを意地でも使おうとしている者だ。いや、そんなこといいつつLumeCMSの使い心地がいいだけです。

ざっくりした流れ

流れとしてはもう、Lumeの静的サイトのビルドはGitで変更管理とcommitしたときの戻り値から判定してビルドする、みたいなことをやっているわけですが。
これが相応に便利です。
直接ふわふわソースファイル弄くって遊んでるときに変更して、「あ!」ってなったときにgit logで過去の更新歴を確認してgit resetすれば回復します。

と、若干話逸れましたが

  1. 自動でそのビルドする段階で新規記事のみ判定しMastodonへtootで自動ポスト。
  2. その標準出力に投稿したURLがあるので変数格納
  3. 新規記事に対しawkで必要情報を追加、再度コミットしビルド
  4. 喜ぶ!

"新規記事のみ判定"って?となるのは私もなりましたが、ブログポスト記事の.mdファイルが存在するディレクトリにはこのポスト投稿を行う挙動をさせていることを前提としているため、今回.mdファイルに追加する文字列がなければ新規記事、ls -tr | tail -1ででてくるディレクトリ内で一番新しいファイルという条件さえあればいいかなと思いました。

余談

なんかまだ問題ある気しかしないがソースはここ。
haturatu/lumebuild
まあぶっちゃけまだ他の人の環境で動くようなものにはなっていない(コマンドチェックするのもないし)から諸々追加していかないといけないなあと。
READMEも更新していない・・・。
最初Fediverseのコメントとブログポスト投稿紐付けできるなんてなんて画期的なんだ!と思ったけど記事をCreateしてからじゃないとURLコピペする形にすぐにならないし、投稿するのこれめんどくさかったんですよね。

正直だいぶ力技でやっている感は否めないが・・・。
なんか最近第二版が出てちょこっとまた話題に出ているプログラミング言語AWK、買うべきな感じがしています。

おまけで、静的サイト系のWiki PagesみたいなものでRustのドキュメントって、みやすいなあと思っていたらmdbookというものらしく最近早速導入していますがいい感じです。
それではここまで。
またよろしくお願いします。