diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-06-14 18:06:06 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-06-14 18:06:06 +0200 |
commit | 3d55107e8b01d5aab84d5acc44e5dae29d2af44e (patch) | |
tree | b03734421cbd6644c421ac13877f6b5d3e0869a9 | |
parent | 3af8f0e71fdee49eeb9a374c88dd77286c4c91ca (diff) |
add and use filter to render ingress text
-rw-r--r-- | _extensions/js/ingress/_extension.yml | 6 | ||||
-rw-r--r-- | _extensions/js/ingress/ingress.lua | 27 | ||||
-rw-r--r-- | _extensions/js/stylish-issue/_extension.yaml | 3 | ||||
-rw-r--r-- | _quarto.yml | 1 |
4 files changed, 37 insertions, 0 deletions
diff --git a/_extensions/js/ingress/_extension.yml b/_extensions/js/ingress/_extension.yml new file mode 100644 index 0000000..4655adc --- /dev/null +++ b/_extensions/js/ingress/_extension.yml @@ -0,0 +1,6 @@ +title: Ingress +author: Jonas Smedegaard +version: 0.0.1 +contributes: + filters: + - ingress.lua diff --git a/_extensions/js/ingress/ingress.lua b/_extensions/js/ingress/ingress.lua new file mode 100644 index 0000000..1f584b6 --- /dev/null +++ b/_extensions/js/ingress/ingress.lua @@ -0,0 +1,27 @@ +-- Translate div class .lead to custo LaTeX environment \ingress{} + +local function escape_latex(str) + local replacements = { + ["\\"] = "\\textbackslash{}", + ["{"] = "\\{", + ["}"] = "\\}", + ["$"] = "\\$", + ["&"] = "\\&", + ["#"] = "\\#", + ["_"] = "\\_", + ["%"] = "\\%", + ["^"] = "\\textasciicircum{}", + ["~"] = "\\textasciitilde{}" + } + return (str:gsub(".", function(c) + return replacements[c] or c + end)) +end + +function Div(el) + if el.classes:includes('lead') then + local content = pandoc.utils.stringify(el.content) + local escaped_content = escape_latex(content) + return pandoc.RawBlock('latex', '\\ingress{' .. escaped_content .. '}') + end +end diff --git a/_extensions/js/stylish-issue/_extension.yaml b/_extensions/js/stylish-issue/_extension.yaml index 0af14b6..7bf4084 100644 --- a/_extensions/js/stylish-issue/_extension.yaml +++ b/_extensions/js/stylish-issue/_extension.yaml @@ -83,3 +83,6 @@ contributes: } } \makeatother +# define format for ingress text + - text: | + \newcommand{\ingress}[1]{{\large #1}} diff --git a/_quarto.yml b/_quarto.yml index 9b058a1..4c56a08 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -56,6 +56,7 @@ resources: - fonts filters: + - ingress - nobreaks - quarto - multicol-nohead |