[英]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.