lib/highlighter.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Monkey patch Nanoc::Helpers::Filtering
module Nanoc3::Helpers::Filtering
def highlight(syntax, &block)
# Seamlessly ripped off from the filter method...
# Capture block
data = capture(&block)
# Reconvert <% %>
data.gsub! /<%/, '<%'
data.gsub! /%>/, '%>'
# Filter captured data
filtered_data = "\n<notextile>"+Albino.colorize(data, syntax)+"</notextile>\n" rescue data
# Append filtered data to buffer
buffer = eval('_erbout', block.binding)
buffer << filtered_data
end
end
include Nanoc3::Helpers::Filtering
|