Jekyllを使っているブログの中でliquidのコードを文字列として載せたいとき(ややこしい)

そのまま書いちゃうと、Liquidのテンプレートとして評価されてしまって、思うように文字が出てきません。

そんなときはrawを使うと、{% 〜 %}のように、普通の文字列として表示させることが可能です。

以下のようにrawendrawで囲んであげると、その中はただのテキストとして扱われ、表示されるようになります。


{% 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