about summary refs log tree commit diff
path: root/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua')
-rw-r--r--nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua b/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua
new file mode 100644
index 000000000000..12431f140fed
--- /dev/null
+++ b/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua
@@ -0,0 +1,18 @@
+--[[
+Turns a manpage reference into a link, when a mapping is defined
+in the unix-man-urls.lua file.
+]]
+
+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