X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/d7764d3d5c38f3697b1fb6252653982329d13310..ade7618250406d55a62464e2a222b077ea18c6c2:/.config/mutt/markdown2html diff --git a/.config/mutt/markdown2html b/.config/mutt/markdown2html index e1ce9af..a3c0f39 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 { @@ -111,7 +112,7 @@ def _preprocess_signature(sig): ''' Preprocess the signature before markdown processing. ''' - return sig + return f"```\n{sig}\n```" def _preprocess_markdown(mdwn): ''' @@ -217,53 +218,54 @@ 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. ''' if not ext_enabled: ext_enabled = [ 'backtick_code_blocks', - 'line_blocks', - 'fancy_lists', - 'startnum', - 'definition_lists', - 'example_lists', - 'table_captions', - 'simple_tables', - 'multiline_tables', - 'grid_tables', - 'pipe_tables', - 'all_symbols_escapable', - 'intraword_underscores', - 'strikeout', - 'superscript', - 'subscript', - 'fenced_divs', - 'bracketed_spans', - 'footnotes', - 'inline_notes', - 'emoji', - 'tex_math_double_backslash', - 'autolink_bare_uris' - ] + 'line_blocks', + 'fancy_lists', + 'startnum', + 'definition_lists', + 'example_lists', + 'table_captions', + 'simple_tables', + 'multiline_tables', + 'grid_tables', + 'pipe_tables', + 'all_symbols_escapable', + 'intraword_underscores', + 'strikeout', + 'superscript', + 'subscript', + 'fenced_divs', + 'bracketed_spans', + 'footnotes', + 'inline_notes', + 'emoji', + 'tex_math_double_backslash', + 'autolink_bare_uris' + ] if not ext_disabled: 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: 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 +294,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] @@ -305,14 +307,14 @@ def convert_markdown_to_html(mdwn): body = _identify_quotes_for_later(body) html = _convert_with_pandoc(body, standalone=True, selfcontained=True, title=None) - html = html.replace('