X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/8be08dfe23a1020daa3f08b4ce31cef3d030cfed..a83d50d5a64488deb3796bbd0ca0a03b0516cc77:/.mutt/markdown2html?ds=inline diff --git a/.mutt/markdown2html b/.mutt/markdown2html index 8930c88..487d3db 100755 --- a/.mutt/markdown2html +++ b/.mutt/markdown2html @@ -95,6 +95,7 @@ h4 { font-size: 107%; } h5 { font-size: 103%; } h6 { font-size: 100%; } p { padding: 0 0.5em; } +pre { padding: 0 1em; } ''' STYLESHEET = os.path.join(os.path.expanduser('~/.mutt'), @@ -102,16 +103,6 @@ STYLESHEET = os.path.join(os.path.expanduser('~/.mutt'), if os.path.exists(STYLESHEET): DEFAULT_CSS += open(STYLESHEET).read() -HTML_DOCUMENT = ''' - - - - - -{htmlbody} -''' - - SIGNATURE_HTML = \ '
-- {sig}
' @@ -187,7 +178,7 @@ def _identify_quotes_for_later(mdwn): # The lead-in to a quote is a single line immediately preceding the # quote, and ending with ':'. Note that there could be multiple of # these: - if re.match(r'^.+:\s*$', cur) and nxt.startswith('>'): + if re.match(r'^[^>]+.*:\s*$', cur) and nxt.startswith('>'): ret.append(f'{{.quotelead}}{cur.strip()}') # pandoc needs an empty line before the blockquote, so # we enter one for the purpose of HTML rendition: @@ -196,13 +187,13 @@ def _identify_quotes_for_later(mdwn): # The first blockquote after such a lead-in gets marked as the # "initial" quote: - elif prev and re.match(r'^.+:\s*$', prev) and cur.startswith('>'): + elif prev and re.match(r'^[^>]+.*:\s*$', prev) and cur.startswith('>'): ret.append(re.sub(r'^(\s*>\s*)+(.+)', r'\g<1>{.quoteinitial}\g<2>', cur, flags=re.MULTILINE)) # All other occurrences of blockquotes get the "subsequent" marker: - elif cur.startswith('>') and prev and not prev.startswith('>'): + elif cur.startswith('>') and prev is not None and not prev.startswith('>'): ret.append(re.sub(r'^((?:\s*>\s*)+)(.+)', r'\g<1>{.quotesubsequent}\g<2>', cur, flags=re.MULTILINE)) @@ -313,7 +304,9 @@ def convert_markdown_to_html(mdwn): if body: body = _preprocess_markdown(body) body = _identify_quotes_for_later(body) - html = _convert_with_pandoc(body, standalone=True, selfcontained=True) + html = _convert_with_pandoc(body, standalone=True, selfcontained=True, + title=None) + html = html.replace('Untitled\n','') html = _reformat_quotes(html) if sig: @@ -324,7 +317,6 @@ def convert_markdown_to_html(mdwn): eob = html.find('') html = f'{html[:eob]}{sig}\n{html[eob:]}' - html = HTML_DOCUMENT.format(htmlbody=html) html = _apply_styling(html) html = _postprocess_html(html)