主题
yaml
把取值序列化为 YAML。
语法
knap
{{ value | yaml }}
{{ value | yaml:flow }}用法
- 数组与对象默认使用两空格缩进的块样式。传入
flow可得到紧凑的行内集合。 - 接受有类型的数组与对象,或已序列化的 JSON 集合,包括
wikilink等过滤器的输出。 - 在集合内部,字符串保持带引号,数字、布尔值和 null 保留其类型。空数组与空对象在两种样式下都写作
[]和{}。 - 对于独立的标量,规范形式的数字、布尔值和
null会原样保留,其余文本会加引号。多行字符串使用转义换行。 - 输出不带结尾换行,也不含 frontmatter 定界符。块集合请写在属性下一行,并用
indent:2缩进;或者改用yaml_property格式化完整的属性。
示例
标量
json
{
"title": "A: value #1"
}knap
{{ title | yaml }}md
"A: value #1"块列表
json
{
"genres": [
"Action",
"Sci-fi"
]
}knap
genre:
{{ genres | yaml | indent:2 }}md
genre:
- "Action"
- "Sci-fi"行内列表
json
{
"genres": [
"Action",
"Sci-fi"
]
}knap
genre: {{ genres | yaml:flow }}md
genre: ["Action","Sci-fi"]从对象生成 frontmatter
json
{
"metadata": {
"year": 1999,
"genre": [
"Action",
"Sci-fi"
]
}
}knap
---
{{ metadata | yaml }}
---md
---
year: 1999
genre:
- "Action"
- "Sci-fi"
---wikilink 列表
json
{
"directors": [
"Lana Wachowski",
"Lilly Wachowski"
]
}knap
director:
{{ directors | wikilink | yaml | indent:2 }}md
director:
- "[[Lana Wachowski]]"
- "[[Lilly Wachowski]]"