【问题标题】:Liquid: resolve a link function from a variableLiquid:从变量解析链接函数
【发布时间】:2017-12-05 18:02:18
【问题描述】:

嗯,我得到了一个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/

如您所见,我有时使用显式 url,有时使用页面名称,可以直接使用 {% 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?或者有没有对应的过滤器?

【问题讨论】:

  • 我会把链接写成 URL,所以它们都是一样的。
  • 嗨@JoostS,我的麻烦是,about_EN.md 可能代表seo/expert-javascript/my-hometown/ramble-tag/book-me ;-)(通过永久链接:液体标题...)

标签: jekyll liquid


【解决方案1】:

在遍历 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 %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 2021-12-02
    • 2021-10-12
    • 2015-05-25
    • 1970-01-01
    • 2014-08-20
    • 2021-07-23
    • 1970-01-01
    相关资源
    最近更新 更多