diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2020-11-25 19:33:59 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2020-11-25 19:33:59 +0100 |
| commit | e1a80a5596dddc9582969e0a95fa8c09882085a9 (patch) | |
| tree | cd60ce5f2ea2192a89d205e0f5950edb8d6b6486 /repo/www/generate-index.py | |
| parent | e72881f68cc3f2ddfbbd3f51449e0251042473ef (diff) | |
| parent | 5fbd9a9e13332a8867eef3d2f408df24b19a34ef (diff) | |
| download | memory-leaks-e1a80a5596dddc9582969e0a95fa8c09882085a9.tar.xz | |
Merge branch 'preprocess-org'
Diffstat (limited to 'repo/www/generate-index.py')
| -rwxr-xr-x | repo/www/generate-index.py | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/repo/www/generate-index.py b/repo/www/generate-index.py index 16d1874..ab5b2a4 100755 --- a/repo/www/generate-index.py +++ b/repo/www/generate-index.py @@ -10,7 +10,7 @@ from tempfile import NamedTemporaryFile from git import Repo -from helpers import deserialize_directories, generate_crumbs, pandoc +from helpers import deserialize_directories, generate_crumbs, PandocRunner def parse_arguments(): @@ -103,41 +103,40 @@ def main(arguments): if arguments.site_title is not None: metadata['sitetitle'] = arguments.site_title - if readme is not None: - repo_top = Repo(search_parent_directories=True).working_dir - readme_path = Path(repo_top, target, readme) - - # If the README doesn't have a title, give a default to pandoc - # out-of-band. - if not has_title(readme_path): - metadata['pagetitle'] = target or 'README' + pandoc = PandocRunner( + arguments.output, arguments.template, arguments.filters, + stylesheets, variables + ) - with NamedTemporaryFile(mode='w+') as toc: - toc.write(f'<h1>{toc_title}</h1>\n') + if readme is None: + with NamedTemporaryFile(suffix='.md') as dummy_readme, \ + NamedTemporaryFile(mode='w+') as toc: toc.write(html_toc) toc.flush() - pandoc( - readme_path, arguments.output, - arguments.template, arguments.filters, stylesheets, - include_after=(toc.name,), - variables=variables, metadata=metadata + metadata['pagetitle'] = toc_title + metadata['title'] = 'Index' + + pandoc.run( + dummy_readme.name, include_after=(toc.name,), metadata=metadata ) - return + return - with NamedTemporaryFile(suffix='.md') as dummy_readme, \ - NamedTemporaryFile(mode='w+') as toc: + repo_top = Repo(search_parent_directories=True).working_dir + readme_path = Path(repo_top, target, readme) + + # If the README doesn't have a title, give a default to pandoc + # out-of-band. + if not has_title(readme_path): + metadata['pagetitle'] = target or 'README' + + with NamedTemporaryFile(mode='w+') as toc: + toc.write(f'<h1>{toc_title}</h1>\n') toc.write(html_toc) toc.flush() - metadata['pagetitle'] = toc_title - metadata['title'] = 'Index' - - pandoc( - dummy_readme.name, arguments.output, - arguments.template, arguments.filters, stylesheets, - include_after=(toc.name,), - variables=variables, metadata=metadata + pandoc.run( + readme_path, include_after=(toc.name,), metadata=metadata ) |
