aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanya Sergeev <vsergeev@gmail.com>2013-10-13 15:28:51 +0200
committerAlberto Bertogli <albertito@blitiri.com.ar>2013-11-02 20:03:59 +0100
commitf62ca211ebf8badd17fef5d15d61eb8ff00875c1 (patch)
tree93725537a05fab918bcdf50ee74120c627da79b1
parentd3bf98ea006f9949b16ad10f7d2c88d6809b8619 (diff)
downloadgit-arr-fork-f62ca211ebf8badd17fef5d15d61eb8ff00875c1.zip
Add markdown blob support
-rwxr-xr-xgit-arr2
-rw-r--r--utils.py14
-rw-r--r--views/blob.html4
3 files changed, 19 insertions, 1 deletions
diff --git a/git-arr b/git-arr
index 173a6b2..8890563 100755
--- a/git-arr
+++ b/git-arr
@@ -174,6 +174,8 @@ def with_utils(f):
'can_colorize': utils.can_colorize,
'colorize_diff': utils.colorize_diff,
'colorize_blob': utils.colorize_blob,
+ 'can_markdown': utils.can_markdown,
+ 'markdown_blob': utils.markdown_blob,
'abort': bottle.abort,
'smstr': git.smstr,
}
diff --git a/utils.py b/utils.py
index 801580e..9e3ca59 100644
--- a/utils.py
+++ b/utils.py
@@ -12,6 +12,10 @@ try:
except ImportError:
pygments = None
+try:
+ import markdown
+except ImportError:
+ markdown = None
def shorten(s, width = 60):
if len(s) < 60:
@@ -41,6 +45,13 @@ def can_colorize(s):
return True
+def can_markdown(fname):
+ """True if we can process file through markdown, False otherwise."""
+ if markdown is None:
+ return False
+
+ return fname.endswith(".md")
+
def colorize_diff(s):
lexer = lexers.DiffLexer(encoding = 'utf-8')
formatter = HtmlFormatter(encoding = 'utf-8',
@@ -68,3 +79,6 @@ def colorize_blob(fname, s):
return highlight(s, lexer, formatter)
+def markdown_blob(s):
+ return markdown.markdown(s)
+
diff --git a/views/blob.html b/views/blob.html
index 283bbcd..6244fc7 100644
--- a/views/blob.html
+++ b/views/blob.html
@@ -36,7 +36,9 @@
<a href="">{{!fname.html}}</a>
</h3>
-% if can_colorize(blob):
+% if can_markdown(fname.unicode):
+{{!markdown_blob(blob)}}
+% elif can_colorize(blob):
{{!colorize_blob(fname.unicode, blob)}}
% else:
<pre class="blob-body">