Liquid:从变量中解析链接函数

时间:2017-12-05 18:02:19

标签: jekyll liquid

好吧,我得到了一个menu.yaml

  entries:
  - title: Welcome to my site
    url: /

  - title: Über mich
    link: about_DE.md

  - title: About me
    link: about_EN.md

  - title: Parcour
    url: /parcours/

正如您所看到的,我有时使用明确的网址,有时是网页名称,可以使用{% link _pages/about_DE.md %}直接解析

现在我的问题:如何在循环中执行此操作,当我无法明确地编写链接但是必须使用像item.link这样的变量时?

{% for item in site.data.header.entries %}

    {% if item.link %}
    {% link item.link %}
    {% else %}
    {{ item.url }}
    {% endif %}
  

液体例外:找不到文件' {{item.link}}'在标记'链接'。

我如何告诉Liquid,该item.link是一个链接,请注意页面名称。然后将其解析为实际的URL?或者是否有相应的过滤器?

1 个答案:

答案 0 :(得分:0)

在遍历 for 循环时,如果该项目有link,那么我们会查看所有具有该路径的页面,这将是我们的页面。

{% for item in site.data.menu.entries %}
{% if item.link %}
 {% assign apost = site.pages | where:"path",item.link  | first %}
   <a href="{{apost.url}}">{{apost.title}}</a>
{% endif %}
{%endfor %}