summaryrefslogtreecommitdiff
path: root/repo/www
diff options
context:
space:
mode:
Diffstat (limited to 'repo/www')
-rw-r--r--repo/www/Makefile8
-rwxr-xr-xrepo/www/generate-page.py35
2 files changed, 38 insertions, 5 deletions
diff --git a/repo/www/Makefile b/repo/www/Makefile
index d748735..9640fc4 100644
--- a/repo/www/Makefile
+++ b/repo/www/Makefile
@@ -51,11 +51,9 @@ $(pages) $(subindices): $(title)
$(pages) $(indices): $(html_template)
$(pages): $(OUT_DIR)/%.html:
- $(call v,PAGE,$*) TEXT_FILES="$(TEXT_FILES)" \
- pandoc -s $< -o $@ \
- -T "$$(cat $(title))" -M title="$*" \
- --template $(html_template) \
- --lua-filter convert-internal-links.lua
+ $(call v,PAGE,$*) TEXT_FILES="$(TEXT_FILES)" \
+ ./generate-page.py --site-title="$$(cat $(title))" --title="$*" \
+ $< $@
top_index = $(OUT_DIR)/index.html
subindices = $(filter-out $(top_index),$(indices))
diff --git a/repo/www/generate-page.py b/repo/www/generate-page.py
new file mode 100755
index 0000000..a8dd81d
--- /dev/null
+++ b/repo/www/generate-page.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+
+from argparse import ArgumentParser
+from subprocess import run
+
+
+def parse_arguments():
+ parser = ArgumentParser()
+ parser.add_argument(
+ '--site-title', help='Prefix to add to <title>.'
+ )
+ parser.add_argument(
+ '--title', help='Page title.'
+ )
+ parser.add_argument(
+ 'page', help='Page to convert to HTML.'
+ )
+ parser.add_argument(
+ 'output', help='Path to the output file.'
+ )
+ return parser.parse_args()
+
+
+def main(arguments):
+ pandoc = (
+ 'pandoc', '-s', arguments.page, '-o', arguments.output,
+ '--lua-filter', 'convert-internal-links.lua',
+ '--template', 'template.html', '-T', arguments.site_title,
+ '-M', f'title={arguments.title}'
+ )
+ run(pandoc, check=True)
+
+
+if __name__ == '__main__':
+ main(parse_arguments())