4 from pygments import highlight
5 from pygments.formatters import HtmlFormatter
7 from markdown import markdown
9 from sys import stdin, stderr
11 filename = stdin.readline().strip()
12 contents = stdin.read()
16 lexer = pygments.lexers.guess_lexer_for_filename(filename, contents)
17 except pygments.util.ClassNotFound:
19 lexer = pygments.lexers.guess_lexer(contents)
20 except pygments.util.ClassNotFound:
24 lexer = pygments.lexers.special.TextLexer
37 if lexer.__class__ is pygments.lexers.MarkdownLexer
41 formatter = HtmlFormatter(
50 print('<article class="markup markdown">')
53 print('<div id="blob">')
54 print(highlight(contents, lexer, formatter))
56 print('<link rel="stylesheet" href="/syntax.css"')
58 print(f"Filename: {filename}; Lexer: {lexer}.", file=stderr)
61 print("Markdown was rendered in addition.", file=stderr)