aboutsummaryrefslogtreecommitdiff
path: root/assets/manual/filter_man_md2tex.lua
diff options
context:
space:
mode:
authorY. Wang <yw05@forksworld.de>2022-08-10 09:57:15 +0200
committerY. Wang <yw05@forksworld.de>2022-08-10 09:57:15 +0200
commit4f9bd72a847ccec3b580def8a4ca2ee12e453477 (patch)
tree03d22fb205cfd4bf128e36a84ea94f43ac6267df /assets/manual/filter_man_md2tex.lua
parent5cc7f50bad779e4f4efb747a74bbce53a7e05cd3 (diff)
downloadadvtrains-4f9bd72a847ccec3b580def8a4ca2ee12e453477.tar.gz
advtrains-4f9bd72a847ccec3b580def8a4ca2ee12e453477.tar.bz2
advtrains-4f9bd72a847ccec3b580def8a4ca2ee12e453477.zip
Reformat RWT documentation as manual pages
Diffstat (limited to 'assets/manual/filter_man_md2tex.lua')
-rw-r--r--assets/manual/filter_man_md2tex.lua28
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,
+ },
+}