Jekyll:液体捕获和降价标记问题

时间:2015-06-12 19:37:53

标签: markdown jekyll liquid

在Jekyll,我试图包含一段"网站信息"这应该在我的网站上的一定数量的页面上。我正在处理的某些信息的文件结构是" team" folder->" _posts" folder->然后在" _posts"文件夹是" site_information.md"以及我希望包含" site_information.md"的其他许多页面的markdown文件。 in。我不想在" _posts"中的每个文件上使用包含语句。文件夹,如果可能的话,所以我想在" layout.html"中创建一个包含语句。文件。

以下是我在" layout.html"中尝试过的内容。文件:

{% if page.page == "page" %}
  {% include_relative site_information.md %}
  {{content}}
{% endif %}}

上面的代码包含了我想要的信息,但它没有以降价格式包含它。

然后我尝试了这个:

{% if page.page == "page" %}
  {% capture site_info %}{% include_relative site_information.md %}{% endcapture %}
  {{site_info}}
  {{content}}
{% endif %}

此代码不显示" site_information.md"使用捕获标记时,页面上的信息。

然后我尝试了这个:

{% if page.page == "page" %}
  {% capture site_info %}{% include_relative site_information.md %}{% endcapture %}
  {{site_info | markdownify}}
  {{content}}
{% endif %}

使用markdownify标签时,此代码给出了错误:
      液体例外:未定义的方法`gsub' for nil:_layouts / layout.html中的NilClass

有没有人知道如何解决这个问题,所以我可以在布局中使用include语句在多个网页上正确显示降价文件?

1 个答案:

答案 0 :(得分:0)

检查您是否尝试将markdownify过滤器应用于空文本。如果没有要降价的文字,您将获得Liquid Exception: undefined method 'gsub' for nil:NilClass

既然你说

  

使用捕获标记时,此代码根本不显示页面上的“site_information.md”信息。

使用capture方法,但不导入任何文本可能会导致错误。