diff --git a/revealjs/build.py b/revealjs/build.py
index 6d89ea0..96c79ec 100755
--- a/revealjs/build.py
+++ b/revealjs/build.py
@@ -9,75 +9,85 @@ from commonmark import commonmark
# "template macros"
template_replace = [
- ('', '', '\n'),
+ ("", '", "\n"),
]
-try:
- directory = os.path.dirname(sys.argv[1])
- print(f'Processing {directory}…')
-except IndexError:
- print(f'USAGE: {sys.argv[0]} path/to/index.html', file=sys.stderr)
- sys.exit(1)
+directory = os.path.dirname(sys.argv[1])
-template_env = Environment(loader=FileSystemLoader(os.path.join(directory, '../_templates')))
+template_env = Environment(
+ loader=FileSystemLoader(os.path.join(directory, "../_templates"))
+)
-if not os.path.isfile(os.path.join(directory, 'index.md')):
- print(f'{directory} is not valid: missing index.md')
- sys.exit(1)
+if not os.path.isfile(os.path.join(directory, "index.md")):
+ raise Exception("{directory} is missing index.md")
-files = ['index.md']
-files.extend(sorted(filter(lambda x: os.path.isfile(os.path.join(directory, x)) and re.match('.*\.md$', x) and x != 'index.md', os.listdir(directory))))
+files = ["index.md"]
+files.extend(
+ sorted(
+ [
+ file
+ for file in os.listdir(directory)
+ if os.path.isfile(os.path.join(directory, file))
+ and re.match(".*\.md$", file)
+ and file != "index.md"
+ ]
+ )
+)
config = {
- 'theme': '../_assets/reveal.js/css/theme/black.css',
- 'mathjax': False,
- 'controls': True,
- 'progress': True,
- 'history': True,
- 'center': True,
- 'show_notes': False, # on print
- 'width': 1280,
- 'height': 800,
- 'transition': 'none', # none, fade, slide, convex, concave, zoom
- 'background_transition': 'none'
+ "theme": "../_assets/reveal.js/css/theme/black.css",
+ "mathjax": False,
+ "controls": True,
+ "progress": True,
+ "history": True,
+ "center": True,
+ "show_notes": False, # on print
+ "width": 1280,
+ "height": 800,
+ "transition": "none", # none, fade, slide, convex, concave, zoom
+ "background_transition": "none",
}
content = ""
for idx, file in enumerate(files):
- with open(os.path.join(directory, file), 'r') as f:
- parts = f.read().split('---\n')
+ with open(os.path.join(directory, file), "r") as f:
+ parts = f.read().split("---\n")
if idx == 0:
config = {**config, **yaml.safe_load(parts[0])}
parts = parts[1:]
- section_content = ''
+ section_content = ""
for slide in parts:
for r in template_replace:
slide = slide.replace(r[0], r[1])
# parse config
- slide_config = slide.split('\n')[0]
- slide = '\n'.join(slide.split('\n')[1:])
- if slide_config != '':
+ slide_config = slide.split("\n")[0]
+ slide = "\n".join(slide.split("\n")[1:])
+ if slide_config != "":
slide_config = re.split(' (?=(?:[^"]|"[^"]*")*$)', slide_config)
- slide_config = list(map(lambda x: x if re.match('^style=.*', x) else f'data-{x}', slide_config)) # data-
- slide_config = ' ' + ' '.join(slide_config)
+ slide_config = list(
+ map(
+ lambda x: x if re.match("^style=.*", x) else f"data-{x}",
+ slide_config,
+ )
+ ) # data-
+ slide_config = " " + " ".join(slide_config)
- slide_content = f''
+ slide_content = f""
slide_content += commonmark(slide)
- slide_content += ''
+ slide_content += ""
- if slide_content != '':
+ if slide_content != "":
section_content += slide_content
- section_content += ''
+ section_content += ""
- if section_content != '':
+ if section_content != "":
content += section_content
-with open(os.path.join(directory, 'index.html'), 'w') as f:
- f.write(template_env.get_template('index.html.j2').render(config, content=content))
-print(f'done')
+with open(os.path.join(directory, "index.html"), "w") as f:
+ f.write(template_env.get_template("index.html.j2").render(config, content=content))