aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.themes/classic/source/_layouts/default.html2
-rw-r--r--plugins/octopress_filters.rb14
2 files changed, 15 insertions, 1 deletions
diff --git a/.themes/classic/source/_layouts/default.html b/.themes/classic/source/_layouts/default.html
index 5b6240de..f6333435 100644
--- a/.themes/classic/source/_layouts/default.html
+++ b/.themes/classic/source/_layouts/default.html
@@ -5,7 +5,7 @@
<nav role=navigation>{% include navigation.html %}</nav>
<div id="main">
<div id="content">
- {{ content | expand_urls: root_url | smart_quotes }}
+ {{ content | expand_urls: root_url | backtick_codeblock | smart_quotes }}
{% unless page.sidebar == false %}
<aside role=sidebar>{% include sidebar.html %}</aside>
{% endunless %}
diff --git a/plugins/octopress_filters.rb b/plugins/octopress_filters.rb
index 429e505c..e85466e3 100644
--- a/plugins/octopress_filters.rb
+++ b/plugins/octopress_filters.rb
@@ -1,6 +1,8 @@
#custom filters for Octopress
+require './plugins/pygments_code'
module OctopressFilters
+ include HighlightCode
# Used on the blog index to split posts on the <!--more--> marker
def excerpt(input)
if input.index(/<!--\s*more\s*-->/i)
@@ -19,6 +21,18 @@ module OctopressFilters
end
end
+ # for Github style codeblocks eg.
+ # ``` ruby
+ # code snippet
+ # ```
+ def backtick_codeblock(input)
+ input.gsub /<p>`{3}\s(\w+)<\/p>.+<pre><code>(.+)<\/code><\/pre>.+`{3}<\/p>/m do
+ lang = $1
+ str = $2.gsub(/^\s{4}/, '').gsub('&lt;','<').gsub('&gt;','>')
+ highlight(str, lang)
+ end
+ end
+
# Replaces relative urls with full urls
def expand_urls(input, url='')
url ||= '/'