diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-06-17 12:27:10 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-06-17 12:28:03 +0200 |
commit | 7d51120440346108aad74f007431ad65b307f6d7 (patch) | |
tree | 17e4a4f0e7df7998848906aad00576181fac266b | |
parent | d88ec849c4f7af41a8a41af1a4f79a2b4d41717a (diff) | |
download | cgit-7d51120440346108aad74f007431ad65b307f6d7.tar.gz cgit-7d51120440346108aad74f007431ad65b307f6d7.tar.bz2 cgit-7d51120440346108aad74f007431ad65b307f6d7.zip |
md2html: use utf-8 and flush output buffer
Otherwise we get the classic Python UTF-8 errors, and the text is all
out of order. While we're at it, switch to python3 so we only have to
support one set of oddball semantics.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Suggested-by: Daniel Campbell <dlcampbell@gmx.com>
-rwxr-xr-x | filters/html-converters/md2html | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/filters/html-converters/md2html b/filters/html-converters/md2html index c8ee7d9..ebf3856 100755 --- a/filters/html-converters/md2html +++ b/filters/html-converters/md2html @@ -1,7 +1,11 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import markdown +import sys +import io from pygments.formatters import HtmlFormatter -print(''' +sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8') +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') +sys.stdout.write(''' <style> .markdown-body { font-size: 14px; @@ -279,11 +283,12 @@ print(''' border: none; } ''') -print(HtmlFormatter(style='pastie').get_style_defs('.highlight')) -print(''' +sys.stdout.write(HtmlFormatter(style='pastie').get_style_defs('.highlight')) +sys.stdout.write(''' </style> ''') -print("<div class='markdown-body'>") +sys.stdout.write("<div class='markdown-body'>") +sys.stdout.flush() # Note: you may want to run this through bleach for sanitization markdown.markdownFromFile(output_format="html5", extensions=["markdown.extensions.fenced_code", "markdown.extensions.codehilite", "markdown.extensions.tables"], extension_configs={"markdown.extensions.codehilite":{"css_class":"highlight"}}) -print("</div>") +sys.stdout.write("</div>") |