summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_extensions/js/ingress/_extension.yml6
-rw-r--r--_extensions/js/ingress/ingress.lua27
-rw-r--r--_extensions/js/stylish-issue/_extension.yaml3
-rw-r--r--_quarto.yml1
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