diff options
Diffstat (limited to 'assets/manual/filter_man_md2tex.lua')
-rw-r--r-- | assets/manual/filter_man_md2tex.lua | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/assets/manual/filter_man_md2tex.lua b/assets/manual/filter_man_md2tex.lua new file mode 100644 index 0000000..baa5c00 --- /dev/null +++ b/assets/manual/filter_man_md2tex.lua @@ -0,0 +1,28 @@ +return { + { + Str = function(elem) + if elem.text == "Advtrains" then + return pandoc.RawInline("latex", "\\advtrains{}") + end + end + }, + { + Header = function(elem) + return pandoc.Header(elem.level+1, elem.content) + end, + }, + { + Pandoc = function(elem) + local outputfn = PANDOC_STATE.output_file or error("No output file specified") + local pgname, pgsection = outputfn:match("([^%./\\]+)%.([^%.]+)%.tex$") + assert(pgname and pgsection, "Cannot fetch manpage name and section") + local blocks = elem.blocks + local titlestr = string.format("%s(%s)", pgname, pgsection) + local titleid = string.format("man:%s.%s", pgname, pgsection) + local titleobj = pandoc.Header(1, pandoc.Code(titlestr)) + titleobj.identifier = titleid + blocks:insert(1, titleobj) + return elem + end, + }, +} |