变量可以传递到Pandoc中的lua过滤器中使用吗?

如果我运行:

pandoc -V foo=bar --lua-filter=myfilter.lua

会将命令行上设置的变量 ( pandoc -V foo=bar) 暴露给在内置的lua过滤器环境中运行的脚本吗 (https://pandoc.org/lua-filters.html) ? 换句话说,我可以在 myfilter.lua 中放什么来访问 foo ?

点赞
用户1190388
用户1190388

这在 --metadata 的描述中有所记录:

--variable 类似,--metadata 导致模板变量被设置。 但与 --variable 不同的是,--metadata 影响底层文档的元数据(可以从过滤器中访问并在某些输出格式中打印),并且元数据值在插入模板时将被转义。

因此,我认为使用 -M 设置变量将使您可以在 Lua 过滤器中访问该变量。

2019-01-31 12:42:12
用户16770869
用户16770869

PANDOC_WRITER_OPTIONS.variables["foo"]

详情请见 https://pandoc.org/lua-filters.html#type-writeroptions

2022-06-01 01:51:48