【问题标题】:Can I reference liquid variables inside another liquid variable from an external project?我可以在外部项目的另一个液体变量中引用液体变量吗?
【发布时间】:2020-06-15 10:00:34
【问题描述】:

我在多个网站上工作,并尝试尽可能多地对它们进行模板化,以便我拥有一个版本/事实来源,当更新时,它将在重建时流向我的网站。我有一个插件,它允许我从外部站点/源中提取内容,类似于标准 Liquid Include 方法。

示例:我想让我的网站中的元标记从我的外部源中提取,但引用它提取的网站以使用液体变量。

所以这意味着从我的外部(资产网站)源中提取以下内容...

<title>{{ page.title }} | {{ site.title }}</title>
<meta name="url" content="{{ site.url }}{% if page.url <> '/' %}{{ page.url }}{% endif %}"/>

...在我的布局中使用液体包含(通过允许从外部来源提取内容的插件),就像这样...

{% include_remote https://asset-source/meta-tags.html %}

...理想情况下,包含源中的液体变量然后被解释(参考我的网站的站点和页面数据)。

我真的希望这是有道理的,我对 Jekyll 和 Liquid 还比较陌生,所以也许我问的是不可能的事情,但我真的很感谢任何人花时间解释这如何或为什么不可行。

【问题讨论】:

    标签: variables include jekyll liquid


    【解决方案1】:

    在对我的问题的许多不同措辞进行了很多很多搜索之后......我终于遇到了这个 Jekyll Plugin / Gem (https://github.com/vividh/liquify),它使用过滤器来解析 Liquid Tag 的内容。在我上面的示例中,这意味着使用 Capture 将外部包含分配给一个变量,然后使用液化过滤器调用该变量,该过滤器再次解析包含的内容并处理它包含的液体标签。

    按照我上面给出的示例,我会将布局中的远程包含更新为:

    {% capture meta-tags %}
        {% remote_include https://asset-source/meta-tags.html %}
    {% endcapture %}
    
    
    {{ meta-tags | liquify }}
    

    【讨论】:

      猜你喜欢
      • 2011-12-16
      • 2011-11-07
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 2018-06-21
      • 2016-12-23
      相关资源
      最近更新 更多