X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/7013dfe93a05082153f79eca6c9e5c05b54d9d50..05d4f8015b5da9be04da4c76909fdfd7575b4f35:/.config/mutt/markdown2html diff --git a/.config/mutt/markdown2html b/.config/mutt/markdown2html index 309c22e..2431bb8 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): ''' @@ -135,8 +135,7 @@ def _preprocess_markdown(mdwn): # when used around email addresses. Note that this needs a postprocessing # hack because the pandoc autolink converted includes the ambersand # (https://github.com/jgm/pandoc/issues/7398). - ret = re.sub(r'<([^@]+@.+\.[^>]+)>', r'<\g<1> -PANDOC_BUG_7398->', ret) - + ret = re.sub(r'<([^@]+@\S+)>', r'<\g<1> PANDOC_BUG_7398 >', ret) return ret @@ -284,7 +283,7 @@ def _postprocess_html(html): # Preprocessing leaves a sentinel to work around # https://github.com/jgm/pandoc/issues/7398, and so we need to remove it: - html = html.replace(' -PANDOC_BUG_7398->', '>') + html = html.replace(' PANDOC_BUG_7398 ', '') return html @@ -293,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] @@ -312,8 +311,9 @@ def convert_markdown_to_html(mdwn): if sig: sig = _preprocess_signature(sig) sig = _preprocess_markdown(sig) + print(sig, file=sys.stderr, end='') sig = _convert_with_pandoc(sig, standalone=False, selfcontained=False) - sig = SIGNATURE_HTML.format(sig='
'.join(sig.splitlines())) + sig = SIGNATURE_HTML.format(sig=sig) eob = html.find('') html = f'{html[:eob]}{sig}\n{html[eob:]}'