From 79f3257437636c153bd9e66131495680ddf39afd Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Tue, 25 Aug 2020 23:12:57 +0200 Subject: Include stylesheets With relative links, so that I can just view HTML files on my disk without spawning a webserver. --- repo/www/generate-index.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'repo/www/generate-index.py') diff --git a/repo/www/generate-index.py b/repo/www/generate-index.py index 116a454..d615756 100755 --- a/repo/www/generate-index.py +++ b/repo/www/generate-index.py @@ -3,6 +3,7 @@ from argparse import ArgumentParser from itertools import chain import json +from os import path from pathlib import Path from subprocess import run from tempfile import NamedTemporaryFile @@ -24,6 +25,10 @@ def parse_arguments(): '--lua-filter', dest='filters', action='append', 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( 'site_tree', help='JSON file describing the page tree.' ) @@ -89,7 +94,14 @@ def main(arguments): html_toc = format_toc(folders, pages) - index_title = f'Index for {target}' if target else 'Index' + if target: + index_title = f'Index for {target}' + path_to_top = path.relpath('.', target) + else: + index_title = 'Index' + path_to_top = '.' + + stylesheets = (path.join(path_to_top, s) for s in arguments.css) if readme is not None: repo_top = Repo(search_parent_directories=True).working_dir @@ -105,8 +117,8 @@ def main(arguments): toc.flush() pandoc(readme_path, arguments.output, arguments.template, - arguments.filters, site_title=arguments.site_title, - title=page_title, include_after=(toc.name,)) + arguments.filters, stylesheets, title=page_title, + site_title=arguments.site_title, include_after=(toc.name,)) return with NamedTemporaryFile(suffix='.md') as dummy_readme, \ @@ -115,8 +127,8 @@ def main(arguments): toc.flush() pandoc(dummy_readme.name, arguments.output, arguments.template, - arguments.filters, site_title=arguments.site_title, - title=index_title, include_after=(toc.name,)) + arguments.filters, stylesheets, title=index_title, + site_title=arguments.site_title, include_after=(toc.name,)) if __name__ == '__main__': -- cgit v1.2.3