|
|
@ -27,24 +27,36 @@ module OctopressFilters
|
|
|
|
# ```
|
|
|
|
# ```
|
|
|
|
def backtick_codeblock(input)
|
|
|
|
def backtick_codeblock(input)
|
|
|
|
# Markdown support
|
|
|
|
# Markdown support
|
|
|
|
input = input.gsub /<p>`{3}\s(\w+)<\/p>\s*<pre><code>\s*(.+?)\s*<\/code><\/pre>\s*<p>`{3}<\/p>/m do
|
|
|
|
input = input.gsub /<p>`{3}\s*(\w+)?<\/p>\s*<pre><code>\s*(.+?)\s*<\/code><\/pre>\s*<p>`{3}<\/p>/m do
|
|
|
|
lang = $1
|
|
|
|
lang = $1
|
|
|
|
str = $2.gsub('<','<').gsub('>','>')
|
|
|
|
if lang != ''
|
|
|
|
highlight(str, lang)
|
|
|
|
str = $2.gsub('<','<').gsub('>','>')
|
|
|
|
|
|
|
|
highlight(str, lang)
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
"<pre><code>#{$2}</code></pre>"
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
# Textile support
|
|
|
|
# Textile support
|
|
|
|
input = input.gsub /<p>`{3}\s(\w+)<br\s*\/>\n(.+?)`{3}<\/p>/m do
|
|
|
|
input = input.gsub /<p>`{3}\s*(\w+)?<br\s*\/>\n(.+?)`{3}<\/p>/m do
|
|
|
|
lang = $1
|
|
|
|
lang = $1
|
|
|
|
str = $2.gsub('<','<').gsub('>','>').gsub(/^\s{4}/, '').gsub(/(<br\s\/>)?$/, '')
|
|
|
|
str = $2.gsub('<','<').gsub('>','>').gsub(/^\s{4}/, '').gsub(/(<br\s\/>)?$/, '')
|
|
|
|
highlight(str, lang)
|
|
|
|
if lang != ''
|
|
|
|
|
|
|
|
highlight(str, lang)
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
"<pre><code>#{$2}</code></pre>"
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
# Regular HTML support
|
|
|
|
# Regular HTML support
|
|
|
|
input.gsub /^`{3}\s(\w+)\n(.+?)\n`{3}/m do
|
|
|
|
input.gsub /^`{3}\s*(\w+)?\n(.+?)\n`{3}/m do
|
|
|
|
lang = $1
|
|
|
|
lang = $1
|
|
|
|
str = $2.gsub(/^\s{4}/, '')
|
|
|
|
str = $2.gsub(/^\s{4}/, '')
|
|
|
|
highlight(str, lang)
|
|
|
|
if lang != ''
|
|
|
|
|
|
|
|
highlight(str, lang)
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
"<pre><code>#{$2.gsub('<','<').gsub('>','>')}</code></pre>"
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|