読者です 読者をやめる 読者になる 読者になる

Jekyllで記事中にレンダリングされたMarkdownを差し込む

GitHub Pages を利用して静的なページを持つサイトを作るときにJekyllを利用していて、作成したページ中に別ファイルで書いたMarkdownファイルを流し込んでHTMLを作成したいと思ってあれこれ調べたのでメモ。

Jekyllのテンプレートのタグに include があるので、

.
├── _incldes
│   └ foo.md

といった具合に _includes というディレクトリを新しく掘ってその中にMarkdownのファイルを置いて

{% include foo.md %}

と書いたら表示はされるのだけど、Markdownファイルがそのまま表示されてしまった。 あれこれ調べてみると、

{% capture foo %} {% include foo.md %} {% endcapture %} {{ foo | markdownify }}

といった書き方で解決できた。中身的には

  • fooという変数を定義開始
  • 変数に _include に置かれたfoo.mdの内容を入れる
  • fooという変数の定義終了
  • fooの中身をMarkdownからHTMLに変換

といった意になると理解した。というメモエントリでした。