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 中对我有用。)如果您有很多代码要添加(而不是容易放在一行上的代码),或者如果您想要打开相同的内容/关闭多个页面,您可以使用自定义变量作为标志。然后,在 {% if %} 标记中,如果设置了值,您将调用包含。