X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/9b91a8f29bc78e793a0a664692641a2326a4ae90..e36d08675336bfcdfea3a997230dcea9ac2c2832:/.config/mutt/markdown2html diff --git a/.config/mutt/markdown2html b/.config/mutt/markdown2html index 6a45558..3762d5f 100755 --- a/.config/mutt/markdown2html +++ b/.config/mutt/markdown2html @@ -51,6 +51,7 @@ DEFAULT_CSS += ''' .block { padding: 0 0.5em; margin: 0; + font-style: italic; border-left: 2px solid #eee; } .quote, blockquote { @@ -104,7 +105,10 @@ if os.path.exists(STYLESHEET): DEFAULT_CSS += open(STYLESHEET).read() SIGNATURE_HTML = \ - '
-- {sig}
' +""" +
--
+{sig}
+""" def _preprocess_signature(sig): @@ -250,14 +254,15 @@ def _convert_with_pandoc(mdwn, inputfmt='markdown', outputfmt='html5', ext_disabled = [ 'tex_math_single_backslash', 'tex_math_dollars', 'smart', - 'raw_html' + 'raw_html', + 'yaml_metadata_block' ] enabled = '+'.join(ext_enabled) disabled = '-'.join(ext_disabled) inputfmt = f'{inputfmt}+{enabled}-{disabled}' - args = [] + args = ['--metadata=document-css:false'] if standalone: args.append('--standalone') if selfcontained: @@ -304,15 +309,14 @@ 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="Body") - html = html.replace('Body\n','') + title=None) html = _reformat_quotes(html) if sig: sig = _preprocess_signature(sig) sig = _preprocess_markdown(sig) sig = _convert_with_pandoc(sig, standalone=False, selfcontained=False, - title="Signature") + title=None) sig = SIGNATURE_HTML.format(sig=sig) eob = html.find('') html = f'{html[:eob]}{sig}\n{html[eob:]}' @@ -328,10 +332,11 @@ def main(): Convert text on stdin to HTML, and print it to stdout, like mutt would expect. ''' - html = convert_markdown_to_html(sys.stdin.read()) - if html: - # mutt expects the content type in the first line, so: - print(f'text/html\n\n{html}') + with open(sys.argv[1], 'r') if len(sys.argv) > 1 else sys.stdin as f: + html = convert_markdown_to_html(f.read()) + if html: + # mutt expects the content type in the first line, so: + print(f'text/html\n\n{html}') if __name__ == '__main__':