1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!/usr/bin/env python3
import io
import sys
import markdown
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()
try:
markdown.markdownFromFile(
output_format="html5",
extensions=[
"markdown.extensions.fenced_code",
"markdown.extensions.codehilite",
"markdown.extensions.tables",
"markdown.extensions.sane_lists",
"markdown.extensions.admonition",
TocExtension(anchorlink=True, permalink=True),
],
extension_configs={
"markdown.extensions.codehilite": {
"css_class": "highlight",
"guess_lang": False,
}
},
)
except Exception as e:
sys.stdout.write(f"<p>Error rendering markdown: {e}</p>")
sys.stdin.seek(0)
sys.stdout.write(f"<pre>{sys.stdin.read()}</pre>")
sys.stdout.write("</div>")
|