aboutsummaryrefslogtreecommitdiff
path: root/_extensions/js/nobreaks/nobreaks.lua
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-10-06 10:08:39 +0200
committerJonas Smedegaard <dr@jones.dk>2025-10-06 10:08:39 +0200
commitf3672ff20c7b7d1dccfa8de5f6df78b863d124b5 (patch)
tree896d33e2ffd9c17cbed5e83793c5405dbfb5f31b /_extensions/js/nobreaks/nobreaks.lua
parent04f16e64c4fe576a1d94b1ee32ca76b2d2e7d726 (diff)
add initial report structure
Diffstat (limited to '_extensions/js/nobreaks/nobreaks.lua')
-rw-r--r--_extensions/js/nobreaks/nobreaks.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/_extensions/js/nobreaks/nobreaks.lua b/_extensions/js/nobreaks/nobreaks.lua
new file mode 100644
index 0000000..c3f0e7d
--- /dev/null
+++ b/_extensions/js/nobreaks/nobreaks.lua
@@ -0,0 +1,23 @@
+--- nobreaks - avoid linebreak between a number and a unit or quantifier
+---
+--- SPDX-FileCopyrightText: 2025 Jonas Smedegaard <dr@jones.dk>
+--- SPDX-License-Identifier: GPL-3.0-or-later
+
+local non_breaking_space = pandoc.Str("\u{00A0}")
+
+function Para(el)
+ for i = 1, #el.content - 1 do
+ if el.content[i].t == "Space" then
+ local el_prev = el.content[i - 1]
+ local el_next = el.content[i + 1]
+ if el_prev and el_next
+ and el_prev.t == "Str" and el_next.t == "Str"
+ and string.match(el_prev.text, "%d$")
+ and string.match(el_next.text, "^[%a%%§°Ωμµ]")
+ then
+ el.content[i] = non_breaking_space
+ end
+ end
+ end
+ return el
+end