包括index.html中的模板部分(即_layouts文件夹外的文件)

时间:2015-06-16 15:21:36

标签: include jekyll templating

如何在不使用布局引擎的情况下将模板部件(head.html,footer.html,...)包含到index.html文件(或_layout文件夹之外的任何其他文件)中。简而言之,我想复制PHP include的基本用法。

使用标记{% include head.html %}docs)我在前端获得了以文字形式打印的标记。

1 个答案:

答案 0 :(得分:1)

您需要为每个文件(在_includes_layouts文件夹之外)包含您希望由Liquid模板引擎处理的YAML Frontmatter。

这意味着,为了液体标记(例如{% include head.html %}{{ post.content }}),必须添加 3个破折号到顶部该文件,换行符和另外3个破折号。

index.html 中的示例,其中包含{% include %}{{ liquid_tags }}

---
---
<html>
  {% include head.html %}
</html>

允许Jekyll正确解析液体标签并插入head.html(必须位于_includes目录中才能使include正常工作) 否则,您必须使用include_relative代码See this link to the docs, which you've linked in your question

Jekyll允许使用空的YAML前端,它只是表示您希望处理Liquid和Markdown处理文件。

没有任何前线(即文件中没有3个破折号,换行符,3个破折号),文件只是逐字复制(就像任何其他静态文件,例如JavaScript,CSS) _site文件夹中的最终输出。当您想要使用Jekyll内置的SASS转换器时也是如此。请参阅文档here,并注意有关Jekyll如何处理所有资产文件的警告。

所说的,如果您有一个特定的布局,您将重复使用它,最好使用布局引擎来减少重复的代码,但我知道最好避免使用其他文件在_layout中的文件中,如果仅使用一次(例如特殊的index.html文件)

相关问题