From 06cba6ccd165ca8b224797e37fccb9e63f026d77 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 21 Mar 2020 11:28:17 +0100 Subject: Adding upstream version 1.9.1. Signed-off-by: Daniel Baumann --- iredis/markdown.py | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 iredis/markdown.py (limited to 'iredis/markdown.py') diff --git a/iredis/markdown.py b/iredis/markdown.py new file mode 100644 index 0000000..ff2b726 --- /dev/null +++ b/iredis/markdown.py @@ -0,0 +1,69 @@ +""" +Markdown render. + +use https://github.com/lepture/mistune render to html, then print with my style. +""" + +import logging +import mistune +import re +from prompt_toolkit.formatted_text import to_formatted_text, HTML + + +logger = logging.getLogger(__name__) + + +class TerminalRender(mistune.Renderer): + def _to_title(self, text): + return f"{text}\n{'='*len(text)}\n" + + def paragraph(self, text): + return text + "\n\n" + + def block_code(self, code, language=None): + code = "\n".join([" " + line for line in code.splitlines()]) + return super().block_code(code) + + def header(self, text, level, raw=None): + if level == 2: + header_text = self._to_title(text) + return super().header(header_text, 2) + return super().header(self._to_title(text), level) + + def list(self, body, ordered=True): + """Rendering list tags like ``