aboutsummaryrefslogtreecommitdiff
path: root/assets/manual/filter_man_md2tex.lua
blob: baa5c00ee206b192d6ecd59b8d56752963f65152 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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,
	},
}