为什么删除Yaml Front Front阻止Jekyll从md文件转换为html

时间:2018-12-13 09:55:50

标签: jekyll

我继承了一个使用jekyll将markdown内容转换为html的过程。

如果我按照客户的要求删除---之间的yaml开头问题,以简化编辑过程,

---
product: Product Name
capability: testing
infotype: Overview
audience:

---

# Testing file 2

This is another testing file.

jekyll构建不会转换文件。

# Testing file 2

This is another testing file.

当我在测试2文件中拥有第一要务时,运行build --verbose时在日志中会看到以下内容

Rendering: user-administration/testing-file-2.md
Pre-Render Hooks: user-administration/testing-file-2.md
Rendering Markup: user-administration/testing-file-2.md
Rendering Layout: user-administration/testing-file-2.md

但没有前面的内容,日志中没有与testing-file-2.md相关的消息

此testing-file-2.md是具有元数据的其他文件集合的一部分。删除元数据后,它们将呈现到html网站中,而不呈现到testing-file-2.md中。

jekyll有没有一种方法可以构建和呈现文件而不会引起头疼?

2 个答案:

答案 0 :(得分:1)

Jekyll不忽略任何文件。而是,对于每个文件,它决定文件是否为:

  • 静态文件,可以按原样复制到输出文件夹(_site),或
  • 首先要处理的文件。

降价文件(.md)由kramdownLiquid处理。如果它们以YAML开头,则为它们:

---
---

否则,它们将被视为静态文件,并无需处理即可复制到_site

有一种变通办法可以使用include_relative为您服务;但这可能会给客户的编辑人员造成麻烦,其价值不菲,这取决于他们的工作方式。

您可以在要处理的文件中包含一个静态文件。您的静态文件可能是plain-text.md

# Static text file

This is a file with no YAML frontmatter.

然后,分别创建一个带有frontmatter的markdown文件,该文件将在其中包含纯文本文件。说processed-text.md

---
---
{% include_relative plaintext.md %}

然后,您的纯文本将被处理,并以/processed-text的形式显示在您的网站上。将文件processed-text.md视为用于保存plain-text.md的模板。

您将希望看到the docs on include_relative,尤其是要包含的文件不能位于文件系统中包含文件之上的事实。

答案 1 :(得分:0)

read要求至少保留空白的空白,否则jekyll将忽略该文件

---
---