【问题标题】:Jekyll does not evaluate liquid tags inside collectionsJekyll 不评估集合中的液体标签
【发布时间】:2016-11-15 12:04:43
【问题描述】:

我的config.yml 中有一个collection。在这个collection 中,我有一个.md 文件列表,其中包含它们的首要内容。例如,我有一个名为 paypal.md 的文件:

---
title: "Paypal"
order: 1
paymentType: PAYPAL
name: paypal
---

blah blah blah, Content of the file...

<figure>
  <img src="{{site.baseurl}}/assets/images/paypal_logo.png">
</figure>

在另一个页面,主页面,我想渲染paypal.md(连同其他页面)的内容,所以会发生这样的事情:

---
layout: page
title: "Payment Methods"
category: oth
order: 5
---

{% assign paypal = site.collection | where: "name", "paypal" | first  %}

{{paypal}}

最终输出如下所示:

blah blah blah, Content of the file...

<figure>
  <img src="{{site.baseurl}}/assets/images/paypal_logo.png">
</figure>

问题是,我无法渲染导入页面的图像,因为 jekyll 似乎无法解析 {{site.baseurl}} 即导入集合的内容。

我试过{{paypal.content}}(结果相同)和{{paypal.output}}(根本不起作用)。

建议?

【问题讨论】:

    标签: markdown jekyll liquid


    【解决方案1】:

    您确定Collections 是正确的方法吗?

    恕我直言,这看起来好像您想将相同的内容包含到不同的页面中,对吧?

    为此,您可以使用 Includes,它还允许您传递参数: Documentation

    【讨论】:

    • 我认为集合是正确的方法,因为我有一堆属于同一类别的文档,对于所有这些文档,我必须记住相同的信息(代码、路径、图像。 ..) 和一些文字描述。我想使用另一个页面中的文字描述来描述这些文档,但是这些文档中的{{}} 没有在主页中评估.. 不过我会尝试include
    【解决方案2】:

    我刚刚导入了您的模板并尝试重现该问题。我没有问题,网址按预期附加。你确定baseurl配置已经设置了吗?

    你能把你的项目(或其中的一部分)上传到某个地方吗?

    【讨论】:

    • 对不起,这是一个公司项目,所以我不能上传它。我会尝试在另一个 git repo 中重现它,以便您看到它,但这不会很快发生,因为我有很多工作:/
    猜你喜欢
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 2013-03-15
    • 2019-02-14
    相关资源
    最近更新 更多