about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorpennae <github@quasiparticle.net>2023-02-08 06:30:27 +0100
committerpennae <github@quasiparticle.net>2023-02-10 06:40:01 +0100
commit1c9f55ec640741fb8d4484c09802cd02636e67bb (patch)
treed1e3517acea7c08631b10b3a7c55663a7913e655 /doc
parent65d749c80b8d868a2c1e6aad7e431917a80fe99a (diff)
downloadnixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.tar
nixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.tar.gz
nixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.tar.bz2
nixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.tar.lz
nixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.tar.xz
nixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.tar.zst
nixlib-1c9f55ec640741fb8d4484c09802cd02636e67bb.zip
nixos/manual: convert <kbd> elements to bracketed spans
since support for kbd elements was added with explicit intent in #175128
it seems like a good idea to support this in nixos-render-docs instead
of just dropping it in favor of `*F12*` etc. since it's a very rare
thing in the manual and purely presentational it makes sense to use
bracketed spans instead of a new myst role.

the html-elements.lua plugin is now somewhat misnamed, but it'll go away
very soon so we don't want to bother renaming it.
Diffstat (limited to 'doc')
-rw-r--r--doc/build-aux/pandoc-filters/docbook-writer/html-elements.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/doc/build-aux/pandoc-filters/docbook-writer/html-elements.lua b/doc/build-aux/pandoc-filters/docbook-writer/html-elements.lua
index 8f4de40ce5f8..ba4d519429eb 100644
--- a/doc/build-aux/pandoc-filters/docbook-writer/html-elements.lua
+++ b/doc/build-aux/pandoc-filters/docbook-writer/html-elements.lua
@@ -2,10 +2,10 @@
 Converts some HTML elements commonly used in Markdown to corresponding DocBook elements.
 ]]
 
-function RawInline(elem)
-  if elem.format == 'html' and elem.text == '<kbd>' then
-    return pandoc.RawInline('docbook', '<keycap>')
-  elseif elem.format == 'html' and elem.text == '</kbd>' then
-    return pandoc.RawInline('docbook', '</keycap>')
+function Span(elem)
+  if #elem.classes == 1 and elem.classes[1] == 'keycap' then
+    elem.content:insert(1, pandoc.RawInline('docbook', '<keycap>'))
+    elem.content:insert(pandoc.RawInline('docbook', '</keycap>'))
+    return elem
   end
 end