![](/img/trans.png)
[英]How do I replace part of a string with a lua filter in Pandoc, to convert from .md to .pdf?
[英]Pandoc Lua how to create an id from a string?
我需要模仿 pandoc 在 Lua 过滤器中将标题文本转换为可接受的 id 字符串的方式:删除特殊字符,将空格转换为破折号。
是否有以这种方式清理字符串的命令?
例如: Les élèves d'hier
变成: les-eleves-dhier
没有这样的 function 内置,但您可以通过 pandoc 支持的一种格式来回移动标题来破解它。 这将强制创建您可以使用的 label:
local function make_id (inlines, via)
local via = via or 'html'
local heading = pandoc.Header(1, inlines)
local temp_doc = pandoc.Pandoc{heading}
local roundtripped_doc = pandoc.read(pandoc.write(temp_doc, via), via)
return roundtripped_doc.blocks[1].identifier
end
例子:
print(make_id(pandoc.Inlines "Les élèves d'hier"))
将打印les-élèves-dhier
。 我相信 output 对于所有可往返格式应该是相同的,但可能不是。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.