summaryrefslogtreecommitdiff
path: root/repo/www/generate-page.py
diff options
context:
space:
mode:
Diffstat (limited to 'repo/www/generate-page.py')
-rwxr-xr-xrepo/www/generate-page.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/repo/www/generate-page.py b/repo/www/generate-page.py
index c9fa0e4..cb2317b 100755
--- a/repo/www/generate-page.py
+++ b/repo/www/generate-page.py
@@ -1,8 +1,12 @@
#!/usr/bin/env python3
from argparse import ArgumentParser
+from os import path
+from pathlib import Path
-from helpers import pandoc
+from git import Repo
+
+from helpers import generate_crumbs, pandoc
def parse_arguments():
@@ -18,6 +22,10 @@ def parse_arguments():
help='Lua filter to run the page through.'
)
parser.add_argument(
+ '--stylesheet', dest='css', action='append',
+ help='CSS stylesheet to link to.'
+ )
+ parser.add_argument(
'--title', help='Page title.'
)
parser.add_argument(
@@ -30,13 +38,21 @@ def parse_arguments():
def main(arguments):
+ repo_top = Repo(search_parent_directories=True).working_dir
+ path_to_top = path.relpath(repo_top, path.dirname(arguments.page))
+ stylesheets = (path.join(path_to_top, s) for s in arguments.css)
+
+ page_path = Path(arguments.page).resolve().relative_to(repo_top)
+
pandoc(
arguments.page,
arguments.output,
arguments.template,
arguments.filters,
- title=arguments.title,
- site_title=arguments.site_title
+ stylesheets,
+ variables={'crumbs': generate_crumbs(page_path)},
+ metadata={'pagetitle': arguments.title,
+ 'sitetitle': arguments.site_title}
)