Post

JekyllとChirpyでブログを作る

JekyllとChirpyでブログを作る

Jekyllでのブログ作成には以前から興味があって、何度か調べたことはあったが、作成までには至らなかった。今回別件で改めて調べたり、書き留めたい欲が高まっていたところだったので、とりあえず作ってみることにした。

JekyllとChirpy

テーマはChirpy1。ChatGPTで簡単に調べて出てきたものから選んだ。あまり調べすぎず、後から変更してもいいか、というくらいで。

GitHub Pagesの標準機能ではビルドできない

元々Jekyllに興味があったのは、GitHub Pagesで簡単に使えるからだ。ビルド環境やGitHub Pagesへのデプロイ処理の記述が不要で、Markdownを書けばサイトが出来上がる。

今回もこの機能を使うつもりだったが、すぐに使用できないことがわかった。以下はGitHub Pages構築時のエラーで、Liquidのエラーが出ている。

1
2
3
4
Run actions/jekyll-build-pages@v1
/usr/bin/docker run --name ...
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
  Liquid Exception: Liquid syntax error (line 4): Expected end_of_string but found id in /_layouts/home.html

意味がわからず困惑したが、GitHub PagesのJekyllのバージョンが古いことが原因だった。

  • GitHub PagesのJekyll: 3.10.0
  • Chirpyで必要なJekyll: 4.3

肩透かしを食らった形になった。Chirpyからテーマを変更することも考えたけど、GitHub Actionsのワークフローを組むこともそれほど難しくはなさそうだったので、Chirpyで進めてみることにした。

Dockerfile

ビルド環境を準備するならローカルで動作確認ができた方が良いので、Dockerfileを作成した。 ruby:3.4-slim では動作しなかったので ruby:3.4 を指定。今はこの環境で書いている。

1
2
3
4
5
6
7
8
9
10
11
FROM ruby:3.4

RUN useradd -m -s /bin/bash mint

WORKDIR /work
USER mint

RUN gem install "html-proofer:~>5.0" "jekyll-theme-chirpy:~>7.4"

ENTRYPOINT ["bundle", "exec", "jekyll"]
CMD ["serve", "--host=0.0.0.0", "--future"]
This post is licensed under CC BY 4.0 by the author.

Trending Tags