-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmlabgen-module-html
More file actions
executable file
·35 lines (30 loc) · 1.81 KB
/
Copy pathmlabgen-module-html
File metadata and controls
executable file
·35 lines (30 loc) · 1.81 KB
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
#! /usr/bin/python3
from sys import argv
from string import Template
import mlabgen
import markdown
from os.path import abspath
from markdown.extensions.extra import ExtraExtension
from markdown.extensions.abbr import AbbrExtension
from markdown.extensions.fenced_code import FencedCodeExtension
from markdown.extensions.tables import TableExtension
from markdown.extensions.smart_strong import SmartEmphasisExtension
from markdown.extensions.codehilite import CodeHiliteExtension
from markdown.extensions.nl2br import Nl2BrExtension
from markdown_sch import SchExtension
if ("-h" in argv) or (len(argv) < 2):
print("usage: mlabgen-module-html [-h] [HTML] [PRJINFO] [MARKDOWN] [OUT]")
exit()
markdown.output_format = "html5"
substitute = {"Text": markdown.markdown(open(argv[3], "r").read(), extensions=[ExtraExtension(),
AbbrExtension(),
FencedCodeExtension(),
TableExtension(),
SmartEmphasisExtension(),
CodeHiliteExtension(linenums=True),
Nl2BrExtension(),
"markdown_checklist.extension",
SchExtension()]),
"Module": abspath(argv[2]).split("/")[-2]}
substitute.update(mlabgen.prjinfo2dict(argv[2]))
open(argv[4], "w").write(Template(open(argv[1], "r").read()).safe_substitute(substitute))