#!/usr/bin/env python3 # TODO: replace this with an actual markdown library that isnt shit :3 import markdown import sys import io from pygments.formatters import HtmlFormatter from markdown.extensions.toc import TocExtension sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8') sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') sys.stdout.write(''' <style> @import url("/cgit-assets.git/plain/markdown.css"); ''') sys.stdout.write(HtmlFormatter(style='one-dark').get_style_defs('.highlight')) sys.stdout.write(''' </style> ''') 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", TocExtension(anchorlink=True)], extension_configs={ "markdown.extensions.codehilite":{"css_class":"highlight"}}) sys.stdout.write("</div>")