X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/d7764d3d5c38f3697b1fb6252653982329d13310..6d900601163e87f851fa17a2859f9370be1df3e3:/.config/mutt/markdown2html diff --git a/.config/mutt/markdown2html b/.config/mutt/markdown2html index e1ce9af..808ba2c 100755 --- a/.config/mutt/markdown2html +++ b/.config/mutt/markdown2html @@ -111,7 +111,7 @@ def _preprocess_signature(sig): ''' Preprocess the signature before markdown processing. ''' - return sig + return f"```\n{sig}\n```" def _preprocess_markdown(mdwn): ''' @@ -217,7 +217,7 @@ def _reformat_quotes(html): def _convert_with_pandoc(mdwn, inputfmt='markdown', outputfmt='html5', ext_enabled=None, ext_disabled=None, - standalone=True, selfcontained=True, title=None): + standalone=True, selfcontained=True, title='Untitled'): ''' Invoke pandoc to do the actual conversion of Markdown to HTML5. ''' @@ -263,7 +263,7 @@ def _convert_with_pandoc(mdwn, inputfmt='markdown', outputfmt='html5', if selfcontained: args.append('--self-contained') if title: - args.append(f'--metadata=pagetitle:"{title}"') + args.append(f'--metadata=title:{title}') return pypandoc.convert_text(mdwn, format=inputfmt, to=outputfmt, extra_args=args) @@ -292,7 +292,7 @@ def convert_markdown_to_html(mdwn): Converts the input Markdown to HTML, handling separately the body, as well as an optional signature. ''' - parts = re.split(r'^-- $', mdwn, 1, flags=re.MULTILINE) + parts = re.split(r'^-- \n', mdwn, 1, flags=re.MULTILINE) body = parts[0] if len(parts) == 2: sig = parts[1] @@ -304,15 +304,16 @@ def convert_markdown_to_html(mdwn): body = _preprocess_markdown(body) body = _identify_quotes_for_later(body) html = _convert_with_pandoc(body, standalone=True, selfcontained=True, - title=None) - html = html.replace('Untitled\n','') + title="Body") + html = html.replace('Body\n','') html = _reformat_quotes(html) if sig: sig = _preprocess_signature(sig) sig = _preprocess_markdown(sig) - sig = _convert_with_pandoc(sig, standalone=False, selfcontained=False) - sig = SIGNATURE_HTML.format(sig='
'.join(sig.splitlines())) + sig = _convert_with_pandoc(sig, standalone=False, selfcontained=False, + title="Signature") + sig = SIGNATURE_HTML.format(sig=sig) eob = html.find('') html = f'{html[:eob]}{sig}\n{html[eob:]}'