是否可以在没有Haskell过滤器或解析--to=json
输出的情况下从降价文件中提取Pandoc的元数据(标题,日期等)?
JSON 输出对此特别不方便,因为两个单词的标题如下所示:
$ pandoc -t json posts/test.md | jq '.meta | .title'
{
"t": "MetaInlines",
"c": [
{
"t": "Str",
"c": "Test"
},
{
"t": "Space"
},
{
"t": "Str",
"c": "post"
}
]
}
因此,即使在让JQ阅读标题之后,我们仍然需要重建单词,任何强调,代码或其他任何东西只会使它变得更加复杂。
我们可以为此使用模板变量$meta-json$
。
将变量粘贴到文件中(带有扩展名,以阻止 Pandoc 查找它自己的目录),然后将其与 pandoc --template=file.ext
一起使用。
Pandoc 的输出是一个 JSON 对象,其中包含键 "title"
、"date"
、"tags"
等,以及它们各自的值来自 markdown 文档,我们可以轻松地使用 jq 对其进行解析、过滤和操作。
$ echo '$meta-json$' > /tmp/metadata.pandoc-tpl
$ pandoc --template=/tmp/metadata.pandoc-tpl | jq '.title,.tags'
"The Title"
[
"a tag",
"another tag"
]