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