我有一个基本的布局页面模板:
---
layout: default
---
<header class="sidebar">
{{ page.title }}
</header>
<section class="content">
{{ content }}
</section>
字符串
我使用这个作为页面模板的页面只是Markdown,它被放入<section>
块中。
我正在寻找一种方法来保持我的所有页面内容在一个文件中,但有它,所以我可以定义单独的内容,得到从页面模板的<header>
标签投入。
有没有办法做到这一点,并保持所有的网页内容在一个文件?
2条答案
按热度按时间enyaitl31#
您可以通过在
_includes/
目录中定义希望分离和重用的内容来实现这一点。然后,您可以通过调用例如以下命令来包含它:
{% include file.ext %}
以包含文件名_includes/file.ext
的(几乎就像您只是复制并粘贴它一样)。参见Jekyll文档here中有关
_includes
的部分。kxeu7u2r2#
YAML Front Matter可用于直接存储页面的附加内容。这是通过创建自定义键/值变量来完成的。版面/模板使用液体标签来检查次要内容是否可用。如果是,它将获得输出。否则,将跳过该部分。
以下是检查是否设置了名为
myvar1
的自定义变量的布局模板示例:字符串
要使用新的插槽,需要在front matter中添加一个
myvar1
变量,如下所示:型
处理该页面时,将显示次要内容。如果您创建了另一个不包含
myvar1
的页面,则不会在模板的该部分呈现任何内容。您可以根据需要向页面中添加任意多个自定义变量。这些值可以包括HTML,如本示例所示。(我在Jekyll 0.11.2中可以使用它。)如果您想要添加很多代码(而不是简单地放在一行中的代码),或者如果您想要在多个页面中打开/关闭相同的内容,可以使用自定义变量作为标志。然后,在
{% if %}
标记中,如果设置了该值,则应调用include。