aboutsummaryrefslogtreecommitdiffstats
path: root/markdown_renderer.py
blob: 2f78a0d7a5023a90bef55f987cedd82519e7f9e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import tempfile
import webbrowser
import misaka
import sys
import os

class SearchReportRenderer(misaka.HtmlRenderer):
    # override the default renderer to add line breaks after every paragraph
    def paragraph(self, text):
        return "<p>%s</p><br><br>" % text

def render(md_path):
    renderer = SearchReportRenderer()
    md = misaka.Markdown(renderer)
    with open(md_path, "r", encoding='utf-8') as f:
        return md(f.read())

def render_and_view(md_path):
    html_path = os.path.join(*os.path.split(md_path)[:-1], os.path.splitext(os.path.split(md_path)[-1])[0] + ".html")
    with open(html_path, "w", encoding='utf-8') as f:
        f.writelines(render(md_path))

    webbrowser.open(html_path)

if __name__ == "__main__":
    render_and_view(sys.argv[1])