pandoc 模板基本语法和变量
目录
转换命令示例:
pandoc --standalone --template template.html doc.md -o doc.html
模板文件基本语法介绍:
注释
在 $--
和行尾之间的任何内容都将被视为注释,不会出现在输出结果中。
$-- comment line
定界符
在模板中,可以使用 $
…$
or ${
…}
作为变量和控制结构的标记。这两种样式也可以在同一模板中混用,但每种情况下的开头和结尾定界符必须匹配。开头定界符后面可以跟随一个或多个空格或制表符,这些将被忽略。结尾定界符前面可以有一个或多个空格或制表符,这些也将被忽略。
如果需要在文档中包含一个字面上的 $
,则使用 $$
。
插值变量
插值变量的位置由匹配的定界符包围的变量名标记。变量名必须以字母开头,可以包含字母、数字、_
、-
和 .
例如:
$foo$
$foo.bar.baz$
$foo_bar.baz-bim$
$ foo $
${foo}
${foo.bar.baz}
${foo_bar.baz-bim}
${ foo }
带有句点的变量名用于获取结构化变量值。例如,employee.salary 将返回 employee 字段值的 salary 字段的值。
关键词 it
, if
, else
, endif
, for
, sep
和 endfor
不可用作变量名。
如果变量的值是简单值,它将被逐字呈现。(注意,不进行任何转义;假定调用程序将适当地为输出格式转义字符串。)
如果值是列表,值将被连接起来。
如果值是映射,将呈现字符串 true。
其他任何值将被呈现为空字符串。
元数据变量
标题、作者和日期等,以及语言变量。另见笔记 pandoc 模板之元数据变量
HTML变量
单独适配 HTML 相关部分的变量,另见笔记 pandoc 模板之HTML变量
条件判断
https://pandoc.org/MANUAL.html#conditionals
循环语句
https://pandoc.org/MANUAL.html#for-loops
更多
单独适配某些文档格式的语法规则,参考官方手册