aboutsummaryrefslogtreecommitdiff
path: root/responsive/md2html
diff options
context:
space:
mode:
Diffstat (limited to 'responsive/md2html')
-rwxr-xr-xresponsive/md2html37
1 files changed, 37 insertions, 0 deletions
diff --git a/responsive/md2html b/responsive/md2html
new file mode 100755
index 0000000..571c8d7
--- /dev/null
+++ b/responsive/md2html
@@ -0,0 +1,37 @@
1#!/usr/bin/env python3
2import io
3import sys
4
5import markdown
6from markdown.extensions.toc import TocExtension
7
8sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding="utf-8")
9sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
10
11sys.stdout.write("<div class='markdown-body'>")
12sys.stdout.flush()
13
14try:
15 markdown.markdownFromFile(
16 output_format="html5",
17 extensions=[
18 "markdown.extensions.fenced_code",
19 "markdown.extensions.codehilite",
20 "markdown.extensions.tables",
21 "markdown.extensions.sane_lists",
22 "markdown.extensions.admonition",
23 TocExtension(anchorlink=True, permalink=True),
24 ],
25 extension_configs={
26 "markdown.extensions.codehilite": {
27 "css_class": "highlight",
28 "guess_lang": False,
29 }
30 },
31 )
32except Exception as e:
33 sys.stdout.write(f"<p>Error rendering markdown: {e}</p>")
34 sys.stdin.seek(0)
35 sys.stdout.write(f"<pre>{sys.stdin.read()}</pre>")
36
37sys.stdout.write("</div>")