YAML Front Matterを使用して、ページの追加コンテンツを直接保存できます。これは、カスタムのキー/値変数を作成することによって行われます。レイアウト/テンプレートは、液体タグを使用して、セカンダリコンテンツが利用可能かどうかを確認します。もしそうなら、それは出力を取得します。それ以外の場合、セクションはスキップされます。
myvar1
呼び出されたカスタム変数が設定されているかどうかを確認するレイアウトテンプレートの例を次に示します。
---
layout: default
---
<header class="sidebar">
<h2>{{ page.title }}</h2>
{% if page.myvar1 %}
<p>Secondary content here: {{ page.myvar1 }}</p>
{% endif %}
</header>
<section class="content">
{{ content }}
</section>
注:元の例と一致させるために、このレイアウトファイルは親の「デフォルト」レイアウトを呼び出します。この例では、上記は「_layouts/nested_layout.html」というレイアウトファイルにあります。
新しいスロットを使用するには、次のmyvar1
ように変数をフロントマターに追加します。
---
layout: nested_layout
title: This is the post test layout
myvar1: More here <strong>including bold text</strong>.
---
And here is the page content: The quick brown fox jumps over the lazy dog.
そのページが処理されると、セカンダリコンテンツが表示されます。を持たない別のページを作成するmyvar1
と、テンプレートのその部分には何もレンダリングされません。
必要な数のカスタム変数をページに追加できます。この例に示すように、値にはHTMLを含めることができます。(Jekyll 0.11.2で動作します。)追加したいコードがたくさんある場合(1行に簡単に収まるものではなく)、または同じコンテンツをオンにできるようにしたい場合/複数のページでオフの場合、カスタム変数をフラグとして使用できます。次に、{%if%}タグで、値が設定されている場合はインクルードを呼び出します。