在Jekyll页面中使用Liquid标签,而不是布局

时间:2013-07-24 18:34:31

标签: jekyll liquid

我想在Jekyll网站的页面中使用液体标签。我已经在布局文件中成功使用了它们,但是当我在页面中使用它们时,它们不会被Liquid解析。

页面采用html格式而非Markdown。该页面具有布局文件成功使用的有效YAML前端内容。这是未解析的页面的代码:

---
layout: default
title: Media
id: media
order: 2
---
<section id="photos">
<h2>Photographs</h2>
<div id="galleries">
    {% for set in site.flickr-sets %}
    <div class="gallery" data-set="{{ set }}"></div>
    {% endfor %}
</div>
</section>

为什么这不起作用有什么明显的原因吗?我真的需要能够访问网站全局变量...

修改

看来这个问题并不局限于那个页面。我尝试创建一个新页面并使用一些液体语法并得到相同的结果。它也是任何液体语法,而不仅仅是标签。

在这些网页使用的布局文件中,我使用{{ page.content }}而不仅仅是{{ content }}来包含网页内容。这有用吗?

3 个答案:

答案 0 :(得分:3)

所以似乎答案就是我所怀疑的。我使用刚刚调用{{ content }}的新布局文件测试了相同的代码并正确呈现。我假设这意味着当Jekyll构建时,它将原始内容存储在页面对象中。这就是为什么只有html(或Markdown)的页面被正确呈现的原因,但是没有解析任何Liquid语法。

虽然这在技术上回答了这个问题,但我仍然没有想出如何解决我的问题!如果有一些过滤器可以添加到{{ page.content }}以使其解析Liquid语法,那将会非常有用。

答案 1 :(得分:2)

我知道这可能有点晚了,但我挖出了一个叫{{ page.output }}的东西,这是页面的渲染内容。

答案 2 :(得分:2)

{{ content }}有效,与{{ page.content }}

不同

{{ content }}它正在解析所有流畅的语法:)

希望有所帮助。