Jekyllの中でLiquidの記法を文字列としてエスケープさせる方法
Jekyllを使っているブログの中でliquidのコードを文字列として載せたいとき(ややこしい)
そのまま書いちゃうと、Liquidのテンプレートとして評価されてしまって、思うように文字が出てきません。
そんなときはraw
を使うと、{% 〜 %}
のように、普通の文字列として表示させることが可能です。
以下のようにraw
とendraw
で囲んであげると、その中はただのテキストとして扱われ、表示されるようになります。
{% for tag in site.tags %}
{% if page.tags contains tag[0] and tag[1].size > 1 %}
{% assign related_posts = tag[1] | sort: "date" | reverse %}
<h2>{{ tag[0] }}に関する他の記事を読む</h2>
<ul>
{% for post in related_posts limit:5 %}
{% if post.title != page.title %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endfor %}
ITのこうしたテックブログを書いていて、Jekyllを使用 かつ Liquidの話をするときにしか発生しない問題なので、かなりのレアケースに当てはまると思いますが、こうした回避方法があったということでメモしました。
この記事の環境情報
- jekyll 4.3.1
Jekyllに関する他の記事を読む
最近の記事を読む
- Flutterでcontextを使わずにlocale情報を取得する
- Cloud RunでIAPを有効にしようとしてハマったこと
- slimでtype='application/ld+json'のscriptタグを書く
- タグマネージャーでjsのloadイベントを発火させたいとき
- mysqlコマンドを実行してERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)と言われたら