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(
51 outp += '<article class="markup markdown">'
54 outp += f'<div id="blob">{highlight(contents, lexer, formatter)}</div>"'
55 outp += '<link rel="stylesheet" href="/syntax.css"'
59 print(f"Filename: {filename}; Lexer: {lexer}.", file=stderr)
62 print("Markdown was rendered in addition.", file=stderr)