ブログ環境を雑に紹介
このブログの構成を紹介
backend
github pagesに置いているだけです。
static site generator
jekyllを使ってねというので、素直に従っています。でも、最初、テーマとかがよく分からず、カスタムテーマを入れちゃったので、github pagesがサポートする形式とはちょっとずれています。 ちなみに、ちょっとだけjekyllのチュートリアル的なのは読んだけど、ちゃんと見てないので、細かいことはよく知りません。とりあえず動いてるからいっか、というレベル。
jekyll theme
Monophase を使ってます。べつに、これじゃなきゃいけなかった理由はないんですが、プレビューを見ていて、年別アーカイブとかタグ一覧とかがナビゲーションバーに出ていたので、これ使えばそのへんも簡単に作れるのかなって思って。それだけです。
デバッグ環境
vagrant+virtualboxでubuntuを立てて、そこに一通り突っ込んで動かしています。WindowsではJekyllのgem installでこけたので、深追いせずにまあいいかと思ってそのまま仮想マシンに行っちゃいました。
設定方法
普通はgem install monophaseとかやって、gem themeというかたちで使うらしいんですが、github pagesはgemfileを見ないしbundle installもしないらしいです。github pagesはただ単に、_config.ymlからテーマを取得して、サポートしていればそれを使うだけ、という挙動をするようです。 なので、テーマのファイルを全部リポジトリにコピーして、_configではテーマを指定していません。ライブラリ本体のバージョンアップが面倒になりますが、まあどうせ勝手にカスタマイズするので問題ないです。 monophaseが依存しているプラグインは、_configのpluginsセクションに書いておかないと、プッシュしたときにタグがない!と怒られちゃいます。gemspecとかをみて適当に。 各種設定は、monophaseのreadmeに書いてあるのをやっただけです。
ちょっとカスタマイズ
いくつか変えました。
年別アーカイブのページの読み上げがへんだったので直した
2021年に3件記事があるっていう読み上げが、20213と読まれたので、こりゃああかんと思って、括弧を付けました。
RSSフィードの自動生成を仕込んだ
投稿したらツイッターに流したかったんですけど、github actionsとかでやるのも面倒だし、どの記事が新しく増えたのかが取得できないかもと思いました。なので、RSSフィードを吹かせて、それに外部サービスを引っかけてツイートしてもらうことにしました。とりあえず、特に選定理由はないですが、socialDogを使ってみてます。 最初、jekylleの公式ページからxml自動生成部分をコピペしてきたら、やたらスペースが入って記事URLが壊れました。どうせxmlの見た目なんてどうでもいいやと思って、スペースを全部抜きました。