diff options
Diffstat (limited to 'packaging/md2html')
-rwxr-xr-x | packaging/md2html | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/packaging/md2html b/packaging/md2html deleted file mode 100755 index 21e42c66..00000000 --- a/packaging/md2html +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright (C) 2020 Wayne Davison -# -# This program is freely redistributable. - -import os, re, argparse - -HTML_START = """\ -<html><head> -<title>%s</title> -<link href="https://fonts.googleapis.com/css2?family=Roboto&family=Roboto+Mono&display=swap" rel="stylesheet"> -<style> -body { - max-width: 50em; - margin: auto; -} -body, b, strong, u { - font-family: 'Roboto', sans-serif; -} -code { - font-family: 'Roboto Mono', monospace; - font-weight: bold; -} -pre code { - display: block; - font-weight: normal; -} -blockquote pre code { - background: #f1f1f1; -} -dd p:first-of-type { - margin-block-start: 0em; -} -table { - border-color: grey; - border-spacing: 0; -} -tr { - border-top: 1px solid grey; -} -tr:nth-child(2n) { - background-color: #f6f8fa; -} -th, td { - border: 1px solid #dfe2e5; - text-align: center; - padding-left: 1em; - padding-right: 1em; -} -</style> -</head><body> -""" - -HTML_END = """\ -</body></html> -""" - -md_parser = None - -def main(): - for mdfn in args.mdfiles: - if not mdfn.endswith('.md'): - print('Ignoring non-md input file:', mdfn) - continue - title = re.sub(r'.*/', '', mdfn).replace('.md', '') - htfn = mdfn.replace('.md', '.html') - - print("Parsing", mdfn, '->', htfn) - - with open(mdfn, 'r', encoding='utf-8') as fh: - txt = fh.read() - - txt = re.sub(r'\s--\s', '\xa0-- ', txt) - - html = md_parser(txt) - - html = re.sub(r'(?<!<pre>)(<code>)([\s\S]*?)(</code>)', lambda m: m[1] + re.sub(r'\s', '\xa0', m[2]) + m[3], html) - html = html.replace('--', '‑‑').replace("\xa0-", ' ‑').replace("\xa0", ' ') - html = re.sub(r'(\W)-', r'\1‑', html) - - if os.path.lexists(htfn): - os.unlink(htfn) - - with open(htfn, 'w', encoding='utf-8') as fh: - fh.write(HTML_START % title) - fh.write(html) - fh.write(HTML_END) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Output html for md pages.', add_help=False) - parser.add_argument("--help", "-h", action="help", help="Output this help message and exit.") - parser.add_argument("mdfiles", nargs='+', help="The .md files to turn into .html files.") - args = parser.parse_args() - - try: - import cmarkgfm - # Our NEWS.md file has a gfm table in it. - md_parser = cmarkgfm.github_flavored_markdown_to_html - except: - die("Failed to find cmarkgfm for python3.") - - main() |