2023年度版と変わったこと

このPRでやってたことを書きます。

dockerfileを更新

以前使っていたjekyllのdocker imagerockstorm/jekyll:pages-v228-minimalが更新されなくなってたので手書きしました。

FROM ruby:3.3-alpine3.19

RUN apk --no-cache add \
    build-base
RUN gem install bundler

COPY Gemfile /tmp/
COPY Gemfile.lock /tmp/
WORKDIR /tmp
RUN bundler install

重要なのはこれだけです。

bundler installするのを.devcontainer/devcontainer.jsonpostCreateCommandとかでするべきか迷いました。 ビルドし直すたびに下で開いて動いてるのは遅いのと、そう変わることはないだろうということでdockerfileでやってしまいます。

ついでにGemfileの中身もすっきりしておきました。

記事のyaml headerにlayoutを追加

仕様が変わったのか、手元で動かしていたら以下のようにCSSが適用されなくなっていました。

yaml headerにlayoutを追加する前の記事

使っているレイアウトのリポジトリを見に行くと、yaml headerに諸々書いてあるようなので追記しておきます。

記事の2行目に書いておけば良さそうなので、_postsフォルダへ移動してから、 sed -i -e "2i layout: post"みたいな感じで片付けました。

jekyll serveのオプション色々

一通り直し終わってimageをビルドし直して開くとページが見れなくなっていました。 コンテナの中からcurlで叩くと見えるので、おかしいなぁ~と思っていたんですが、-Hオプションで0.0.0.0を指定してやることで直りました。 なんで今まで動いていたんですか……?

helpを眺めていたら--futureというオプションも見つけたのでこれも追加しておきます。 未来の日付の記事を描画してくれます。

書いている途中に気付いたのですが、_postフォルダの中を更新してもビルドが走らず、--watchオプションが微妙に機能していません。 りどみを保存すると走ります。 composeで雑にマウントしてるのが原因なんじゃないかとにらんでいます。

おわり

さらっと書きましたが、「なんで動かないんだ~~~~~」を100回くらいやっていたので時間が掛かりました。