6

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

该页面是 html 格式而不是 Markdown。该页面具有已被布局文件成功使用的有效 YAML front-matter。这是未解析页面的代码:

---
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 }}. 这可能是相关的吗?

4

3 回答 3

4

{{ content }}工作,它不同于{{ page.content }}

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

希望有帮助。

于 2016-12-11T12:09:24.527 回答
3

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

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

于 2013-07-26T08:05:30.200 回答
2

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

于 2014-02-26T01:57:14.297 回答