hidakatsuya.dev hidakatsuya

GitHub Pages (Jekyll) でコードブロック中の中括弧が描画されない

GitHub Actions での Docker によるテストの高速化を試みた の記事を公開した後、コードブロック内の ${{ ... }} が全て消えていることに気づいた。

a

おかしい。正しくはこう。

b

手元で jekyll serve してみると確かに警告が出力されていた。

Liquid Warning: Liquid syntax error (line 139): Expected end_of_string but found open_round in "{{ hashFiles('Gemfile.lock') }}" in /home/hidakatsuya/github/hidakatsuya.github.io/_posts/2022-06-11-try-to-make-github-action-faster.md

解決方法

下記公式ドキュメントに書いてあるように、コンテンツに連続する中括弧が含まれる場合は Liquid の描画を無効にする必要がある。

http://jekyllrb-ja.github.io/docs/liquid/tags/

無効にする方法は、Jekyll のバージョンによって異なるが、執筆時点の GitHub Pages での Jekyll 3.9.2 では、

のようにすれば良い。冒頭の記事の実際の修正コミットは 24da40e

なお、Jekyll 4.0 以降では、単にフロントマターに render_with_lizuid: false を書くことで Liquid の描画を無効化できる。

余談

ちなみに、GitHub Pages で使われている Jekyll のバージョンやプラグインの種類とバージョンは公式の以下のページで確認できる。

https://pages.github.com/versions/