aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/octopress_filters.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/plugins/octopress_filters.rb b/plugins/octopress_filters.rb
index 7d73bdec..8c9367ba 100644
--- a/plugins/octopress_filters.rb
+++ b/plugins/octopress_filters.rb
@@ -26,11 +26,25 @@ module OctopressFilters
# code snippet
# ```
def backtick_codeblock(input)
- input.gsub /<p>`{3}\s(\w+)<\/p>\n\n<pre><code>([^<]+)<\/code><\/pre>\n\n<p>`{3}<\/p>/m do
+ # Markdown support
+ input = input.gsub /<p>`{3}\s(\w+)<\/p>\s*<pre><code>\s*(.+?)\s*<\/code><\/pre>\s*<p>`{3}<\/p>/m do
lang = $1
str = $2.gsub('&lt;','<').gsub('&gt;','>')
highlight(str, lang)
end
+
+ # Textile support
+ input = input.gsub /<p>`{3}\s(\w+)<br\s*\/>\n(.+?)`{3}<\/p>/m do
+ lang = $1
+ str = $2.gsub(/^\s{4}/, '').gsub(/<br\s*\/>$/, '')
+ highlight(str, lang)
+ end
+
+ input.gsub /^`{3}\s(\w+)\n(.+?)\n`{3}/m do
+ lang = $1
+ str = $2.gsub(/^\s{4}/, '')
+ highlight(str, lang)
+ end
end
# Replaces relative urls with full urls