#!/home/git/stagit-env/bin/python3 from sys import stdin import pygments from markdown import markdown from pygments import highlight from pygments.formatters import HtmlFormatter from pygments.lexers import TextLexer, guess_lexer, guess_lexer_for_filename filename = stdin.readline().strip() contents = stdin.read() lexer = None rendered = None try: lexer = guess_lexer_for_filename(filename, contents) except pygments.util.ClassNotFound: try: lexer = guess_lexer(contents) except pygments.util.ClassNotFound: pass if lexer is None: lexer = TextLexer() if lexer.__class__ is pygments.lexers.MarkdownLexer: rendered = markdown( contents, extensions=["codehilite", "extra", "sane_lists", "smarty", "pymdownx.tasklist"], ) format = HtmlFormatter( style="murphy", cssclass="highlight", linenos="table", lineanchors="loc", anchorlinenos=True, ) if rendered: print('
') print(rendered) print("
") print('
') print(highlight(contents, lexer, format)) print("
") print("")