Scrapbox を中心にしたコンテンツ生成

過去をインポートするあたりから本格的にパブリックの方のスクボを耕してきて半年強くらい経った
逆にプライベートのスクボの方は少し荒れ地になってきた感はある
滅多にあるわけではないけれど、書いた URL を貼ったり渡したりすると「Scrapbox かぁ〜」という反応をされることがあったのと、仕事で AMP をバリバリ書いてるのでスクボで書いたコンテンツを AMP にして出してみてメディアっぽいのを作れるかな〜というのを試す素振りでやってみることにした

使ってる技術とか:
@progfay/scrapbox-parser: スクボのパーサ、これがなかったらはじまらなかった。助かった
lit-ntml: lit-htmlNode.js 版。サクサク HTML が生成できてラク
GitHub Actions: 使ってみたかったから、というのもあるし、生成したコンテンツは git に格納しているので GitHub 上で完結しているとラクかな、とおもった
Netlify: おなじみホスティングサービス

簡単な仕組み解説:
Scrapbox に生えてる API を叩いてページ一覧を引いてくる
新しめなページの情報を引いてくる
AMP に対応した html を錬成
git にコミット、プッシュ
Netlify がトリガーされて公開される
これを日本時間の午前4時くらいに cron で GitHub Actions が実行してくれる

また、/hub/ホームページを参考に自分のホムペの https://kbys.tk/y にも更新されたコンテンツが流れるようにした

使ってる技術とか:
こちらは元々 Gatsby で生成してたのを Next.js の Static Export に切り替えた
そんなに難しいことはしていない

簡単なしくみ解説:
Netlify には webhook でビルドをトリガーできる仕組みがある
AMP の方の生成が終わるとこの webhook を叩いてビルドが走る
最近書かれた記事最近クリップしたページというページを定期的に剪定して、いい感じにフレッシュな状態になるようにしている

こういう CMS っぽいのを作るのは最早何度めか分からないけど、毎度楽しい