是否可以更改布局以使十一生成一组降价格式文件?
我有一个图书馆目录中的作者列表,我想继续编辑它们,为每个作者制作一个页面。所以我想先为每条记录生成一个markdown模板,然后我会继续一个一个地编辑这些。
是否可以更改布局以使十一生成一组降价格式文件?
我有一个图书馆目录中的作者列表,我想继续编辑它们,为每个作者制作一个页面。所以我想先为每条记录生成一个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
数组中的每个项目创建单独的页面(分页全局数据)。我们定义 apermalink
来输出一个.md
文件,文件的其余部分只是普通的 Markdown,添加了模板标签。您可以使用所有常规可用的 Nunjucks/其他模板标签,例如循环、宏或继承。
您可以扩展这些想法以生成其他内容,例如 Javascript 文件、JSON 文件、YAML 文件、XML 或任何纯文本文件。没有什么能阻止您对非 HTML 内容进行模板化。
上述模板的输出为:
---
layout: content
---
# About Apples
Apples are _very_ **delicious**.
`Buy Apples here!`