summary refs log tree commit diff
path: root/doc/build-aux/pandoc-filters/link-unix-man-references.lua
diff options
context:
space:
mode:
Diffstat (limited to 'doc/build-aux/pandoc-filters/link-unix-man-references.lua')
-rw-r--r--doc/build-aux/pandoc-filters/link-unix-man-references.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/build-aux/pandoc-filters/link-unix-man-references.lua b/doc/build-aux/pandoc-filters/link-unix-man-references.lua
new file mode 100644
index 00000000000..e437ac73a1c
--- /dev/null
+++ b/doc/build-aux/pandoc-filters/link-unix-man-references.lua
@@ -0,0 +1,17 @@
+--[[
+Turns a manpage reference into a link, when a mapping is defined below.
+]]
+
+local man_urls = {
+  ["tmpfiles.d(5)"] = "https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html",
+  ["nix.conf(5)"] = "https://nixos.org/manual/nix/stable/#sec-conf-file",
+  ["systemd.time(7)"] = "https://www.freedesktop.org/software/systemd/man/systemd.time.html",
+  ["systemd.timer(5)"] = "https://www.freedesktop.org/software/systemd/man/systemd.timer.html",
+}
+
+function Code(elem)
+  local is_man_role = elem.classes:includes('interpreted-text') and elem.attributes['role'] == 'manpage'
+  if is_man_role and man_urls[elem.text] ~= nil then
+    return pandoc.Link(elem, man_urls[elem.text])
+  end
+end