]> git.armaanb.net Git - stagit.git/blobdiff - highlight
Move markdown article outside blob.
[stagit.git] / highlight
index cfcc452fb2862375aa073c4c5f2052514957f49d..28b18912a863b290923bbde17efae273cb871cf5 100755 (executable)
--- a/highlight
+++ b/highlight
@@ -5,7 +5,7 @@ from pygments import highlight
 from pygments.formatters import HtmlFormatter
 from pygments.lexers import guess_lexer, guess_lexer_for_filename
 
-from sys import stdin
+from sys import stdin, stderr
 
 filename = stdin.readline().strip()
 contents = stdin.read()
@@ -22,12 +22,35 @@ except pygments.util.ClassNotFound:
 
 if lexer is None:
     from pygments.lexers import TextLexer
-    lexer = TextLexer
+    lexer = TextLexer()
+
+rendered = None
+if lexer.__class__ is pygments.lexers.MarkdownLexer:
+    from markdown import markdown
+    rendered = markdown(contents, extensions=[
+        'codehilite',
+        'extra',
+        'sane_lists'
+    ])
 
 FORMAT = HtmlFormatter(
-    lineos='table',
+    style='murphy',
+    cssclass='highlight',
+    linenos='table',
     lineanchors='loc',
     anchorlinenos=True)
 
+if rendered:
+    print('<article class="markup markdown">')
+    print(rendered)
+    print('</article>')
+print('<div id="blob">')
 print(highlight(contents, lexer, FORMAT))
-
+print('</div>')
+print('<style>')
+print(FORMAT.get_style_defs(''))
+print('</style>')
+
+print("Filename: {}; Lexer: {}.".format(filename, lexer), file=stderr)
+if rendered:
+    print("Markdown was rendered in addition.", file=stderr)