我正在寻找一个简单的模板引擎,它将 YAML 片段作为上下文,并且非常适合阅读 Markdown 以及一些标签以生成 Markdown。我尝试了 Jekyll 的 Liquid,它工作正常,除了空白,这在 Markdown 中非常重要。
例如这个输入...
---
samples:
- name: one
samplecode: |
function sample() {
return 1;
}
- name: two
samplecode: |
function sample() {
return 2;
}
---
{% for s in page.samples %}
- {{s.name}}
{{s.samplecode}}
{% endfor %}
输出是:
- one
function sample() {
return 1;
}
- two
function sample() {
return 2;
}
而不是以下实际与 Pandoc 一起工作的:
- one
function sample() {
return 1;
}
- two
function sample() {
return 2;
}
这实际上是discussed before for Jekyll .
所以我的问题是:有没有适合我需要的简单模板引擎?
最佳答案
我认为你可以使用 pandoc 中内置的模板引擎来做你想做的事。
t.tpl
:
$for(samples)$
- $samples.name$
$samples.samplecode$
$endfor$
t.md
:
---
samples:
- name: one
samplecode: |
```
function sample() {
return 1;
}
```
- name: two
samplecode: |
```
function sample() {
return 2;
}
```
---
注意:我们将代码示例放在代码围栏中,因为 pandoc 将元数据值解释为 markdown。
然后:
% pandoc --template t.tpl -f markdown -t markdown t.md
- one
function sample() {
return 1;
}
- two
function sample() {
return 2;
}
关于yaml - Markdown 到 Markdown 的模板语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568628/