diff options
-rw-r--r-- | plugins/octopress_filters.rb | 16 |
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('<','<').gsub('>','>') 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 |