summaryrefslogtreecommitdiff
path: root/repo/www/generate-index.py
diff options
context:
space:
mode:
Diffstat (limited to 'repo/www/generate-index.py')
-rwxr-xr-xrepo/www/generate-index.py39
1 files changed, 22 insertions, 17 deletions
diff --git a/repo/www/generate-index.py b/repo/www/generate-index.py
index a993c41..3bce69d 100755
--- a/repo/www/generate-index.py
+++ b/repo/www/generate-index.py
@@ -92,17 +92,14 @@ def main(arguments):
folders, files = list_files(arguments.site_tree, target)
pages, readme = list_pages(files)
+ toc_title = f'Index for {target}' if target else 'Index'
html_toc = format_toc(folders, pages)
- if target:
- index_title = f'Index for {target}'
- path_to_top = path.relpath('.', target)
- else:
- index_title = 'Index'
- path_to_top = '.'
-
+ path_to_top = path.relpath('.', start=target)
stylesheets = (path.join(path_to_top, s) for s in arguments.css)
+
variables = {'crumbs': generate_crumbs(Path(target)/'index')}
+ metadata = {}
if readme is not None:
repo_top = Repo(search_parent_directories=True).working_dir
@@ -110,17 +107,20 @@ def main(arguments):
# If the README doesn't have a title, give a default to pandoc
# out-of-band.
- page_title = None if has_title(readme_path) else 'README'
+ if not has_title(readme_path):
+ metadata['pagetitle'] = target or 'README'
with NamedTemporaryFile(mode='w+') as toc:
- toc.write('<h1>{title}</h1>\n'.format(title=index_title))
+ toc.write(f'<h1>{toc_title}</h1>\n')
toc.write(html_toc)
toc.flush()
- pandoc(readme_path, arguments.output, arguments.template,
- arguments.filters, stylesheets, title=page_title,
- site_title=arguments.site_title, include_after=(toc.name,),
- variables=variables)
+ pandoc(
+ readme_path, arguments.output,
+ arguments.template, arguments.filters, stylesheets,
+ site_title=arguments.site_title, include_after=(toc.name,),
+ variables=variables, metadata=metadata
+ )
return
with NamedTemporaryFile(suffix='.md') as dummy_readme, \
@@ -128,10 +128,15 @@ def main(arguments):
toc.write(html_toc)
toc.flush()
- pandoc(dummy_readme.name, arguments.output, arguments.template,
- arguments.filters, stylesheets, title=index_title,
- site_title=arguments.site_title, include_after=(toc.name,),
- variables=variables)
+ metadata['pagetitle'] = toc_title
+ metadata['title'] = 'Index'
+
+ pandoc(
+ dummy_readme.name, arguments.output,
+ arguments.template, arguments.filters, stylesheets,
+ site_title=arguments.site_title, include_after=(toc.name,),
+ variables=variables, metadata=metadata
+ )
if __name__ == '__main__':