我有一个像这样的文件结构的jekyll网站:
▾ _includes/
post-entry.html
▾ _posts/
2012-11-25-first-post.markdown
index.markdown
在我的index.markdown中,我希望包含post-entry.html
这样的内容:
{% for post in site.posts %}
* {% include post-entry.html %}
{% endfor %}
但这在博客中显示为HTML代码段。我该如何防止HTML出现 保护?
答案 0 :(得分:12)
只要有YAML标题,您就可以在任何降价文件中使用液体标签。例如,查看index.md中提供的jekyllbootstrap template for Jekyll sites。
如果你链接到你的实际index.markdown或你的存储库本身(例如,如果它在github上),我们可能会更好地了解出了什么问题。您的示例应该有效,但您可能需要使用HTML列表元素<li>
而不是降价标记*
。
答案 1 :(得分:4)
问题是解析器将HTML视为代码块。最好的方法是关闭像asked in this question
这样的代码块要解决使用替换标记:
{% capture includeGuts %}
{% include post-entry.html %}
{% endcapture %}
{{ includeGuts | replace: ' ', ''}}
答案 2 :(得分:0)
改为使用{{ post.content }}
。
以下是我在网站上使用的代码示例:
{% for post in site.posts %}
<a href="{{ post.url }}">
<h2>{{ post.title }} — {{ post.date | date_to_string }}</h2>
</a>
{{ post.content }}
{% endfor %}
答案 3 :(得分:-8)
你做不到。 Markdown文件只是具有样式的文本文件。如果您想使用Liquid标签,则必须在_layouts
中执行此操作如果我猜对了,你想在索引页面上找到这个降价文件吗?因此,在{{content}}标记之后的default.html布局中,您可以使用要使用的液体标记。无需将markdown文件与代码混合使用。