我想在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 }}
来包含网页内容。这有用吗?
答案 0 :(得分:3)
所以似乎答案就是我所怀疑的。我使用刚刚调用{{ content }}
的新布局文件测试了相同的代码并正确呈现。我假设这意味着当Jekyll构建时,它将原始内容存储在页面对象中。这就是为什么只有html(或Markdown)的页面被正确呈现的原因,但是没有解析任何Liquid语法。
虽然这在技术上回答了这个问题,但我仍然没有想出如何解决我的问题!如果有一些过滤器可以添加到{{ page.content }}
以使其解析Liquid语法,那将会非常有用。
答案 1 :(得分:2)
我知道这可能有点晚了,但我挖出了一个叫{{ page.output }}
的东西,这是页面的渲染内容。
答案 2 :(得分:2)
{{ content }}
有效,与{{ page.content }}
{{ content }}
它正在解析所有流畅的语法:)
希望有所帮助。