首页 文章

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

提问于
浏览
1

在Jekyll,我试图在我的网站中包含一段“网站信息”,这段信息应该放在一定数量的页面上 . 我正在处理的某些信息的文件结构是一个“团队”文件夹 - >“_ posts”文件夹 - >然后在“_posts”文件夹中是“site_information.md”以及我想要包含的许多其他页面的降价文件in“site_information.md” . 如果可能的话,我不想在“_posts”文件夹中的每个文件上使用include语句,所以我想在“layout.html”文件中创建一个includes语句 .

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

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

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

然后我尝试了这个:

{% 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标记时,此代码给出了错误:
Liquid Exception:nil的未定义方法`gsub':_layouts / layout.html中的NilClass

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

1 回答

  • 0

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

    既然你说的那样

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

    使用 capture 方法虽然它不导入任何文本可能会导致错误 .

相关问题