aboutsummaryrefslogtreecommitdiffstats
path: root/roles/jails/22_forge/files/md2html
diff options
context:
space:
mode:
authorJan Sydänviita <jan@sydanviita.fi>2026-08-18 15:59:39 +0300
committerJan Sydänviita <jan@sydanviita.fi>2026-08-18 15:59:39 +0300
commite63f07385f9c67395315fe029735fe32d9b16480 (patch)
treebed59ff1d6ea7d959e618088e48e8785b2c9eadd /roles/jails/22_forge/files/md2html
parent076581c53354b51dafc4d5dc7760f0c5ff03344a (diff)
Add forge jail
Diffstat (limited to 'roles/jails/22_forge/files/md2html')
-rw-r--r--roles/jails/22_forge/files/md2html24
1 files changed, 24 insertions, 0 deletions
diff --git a/roles/jails/22_forge/files/md2html b/roles/jails/22_forge/files/md2html
new file mode 100644
index 0000000..4f1b76e
--- /dev/null
+++ b/roles/jails/22_forge/files/md2html
@@ -0,0 +1,24 @@
+#!/usr/local/bin/python3.12
+import markdown
+import sys
+import io
+from pygments.formatters import HtmlFormatter
+from markdown.extensions.toc import TocExtension
+sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
+sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
+
+sys.stdout.write("<div class='markdown-body'>")
+sys.stdout.flush()
+# Note: you may want to run this through bleach for sanitization
+markdown.markdownFromFile(
+ output_format="html5",
+ extensions=[
+ "markdown.extensions.fenced_code",
+ "markdown.extensions.codehilite",
+ "markdown.extensions.tables",
+ "markdown.extensions.sane_lists",
+ TocExtension(anchorlink=True)],
+ extension_configs={
+ "markdown.extensions.codehilite":{"css_class":"highlight"}}
+)
+sys.stdout.write("</div>")