diff options
Diffstat (limited to 'repo')
| -rw-r--r-- | repo/www/Makefile | 8 | ||||
| -rwxr-xr-x | repo/www/generate-page.py | 35 |
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()) |
