アドベントカレンダーのページを作った
これはひとりアドベントカレンダー「日記ぽい」4日目の記事です。ブログの設定更新も日記なのだ。

ひとりアドベントカレンダーは過去にもやっていて、アドベントカレンダーの記事一覧ページがないのはなんとなくさみしいなあ、と思っていたので、実装した。 今年のアドベントカレンダー記事一覧ページはここだ。「ひとりアドベントカレンダー」カテゴリーの記事が追加されるとJekyllビルド時にここに追加されていく。
Jekyllのlayoutとして実装し、ページの定義自体は手動で追加する。今年のページ定義はここにある。frontmatterだけで中身はない。
「カレンダーは表ではない」主義者なので、HTMLとしてはtableではなくulを使っている(ul = unordered listなのは適切じゃない、olにすべきだ、と書いていて気がついた)。表形式へのレンダリングはgrid layoutを使っている。初日の曜日はgrid-column-startでコントロールしている。CSSはこちら。そして、Liquid Templateとしては以下のようなことをしている。
{% assign first_date = year | append: "-" | append: month | append: "-01" %}
{% assign first_day_of_week = first_date | date: "%u" | plus: 0 %}
//...
<ul class="calendar" style="--first-day: {{ first_day_of_week }}">
Liquidでは日付のフォーマットでstrftimeの文法が使える。%uでは、月曜日を1とした数値表現が得られるから、月曜始まりカレンダーならそのまま使える。
追記
修正した。advent calendar pageの日付ulからolに変更し、さらに曜日のラベルを外に出した(曜日ラベルは順序付きリストで並べた日付の一部とは言えないので)。