使用eleventy输出markdown格式



是否可以更改布局,以便eleventy生成一组markdown格式的文件?

我有一份图书馆目录中的作者列表,我想继续编辑它们,为每个作者制作一页。所以我想先为每条记录生成一个降价模板,然后我将继续逐一编辑这些模板。

您可以使用Eleventy和模板生成各种文件类型,包括Markdown。从本质上讲,如果您有文本并希望使用模板语言来生成它,Eleventy可以做到这一点。

例如,假设您有一个包含水果名称的全局数据文件。这也可以是一个对象数组,但为了简单起见,我们现在只使用名称。在您的案例中,这可能是每个作者的对象数组。

// _data/fruits.js
module.exports = [
'Apples',
'Bananas',
'Oranges',
'Pears',
]

你想为每种水果创建一个Markdown页面,并附上一点描述。在这个例子中,我将使用Nunjucks,但它可以适应Eleventy支持的任何模板语言。

fruits.md.njk中(名称无关紧要(:

---
pagination:
data: fruits
size: 1
alias: fruit
permalink: 'fruits/{{ fruit | slug }}.md'
---
--- {# We can even define front-matter that will appear in the output #}
layout: content
---
# About {{ fruit }}
{# Use whatever markdown syntax you want #}
{{ fruit }} are _very_ **delicious**.
`Buy {{ fruit }} here!`

在这个模板中,我们使用分页为fruits数组中的每个项创建单独的页面(分页全局数据(。我们定义了一个permalink来输出.md文件,文件的其余部分只是普通的Markdown,添加了模板标记。您可以使用所有常规可用的Nunjucks/其他模板标记,如循环、宏或继承。

您可以扩展这些想法来生成其他东西,如Javascript文件、JSON文件、YAML文件、XML或任何纯文本文件。没有什么能阻止你对非HTML的东西进行模板化。

上述模板的输出为:

--- 
layout: content
---
# About Apples

Apples are _very_ **delicious**.
`Buy Apples here!`

最新更新