lib/octopress-codefence.rb in octopress-codefence-1.0.0 vs lib/octopress-codefence.rb in octopress-codefence-1.1.0
- old
+ new
@@ -3,23 +3,24 @@
require 'jekyll-page-hooks'
module Jekyll
class Codefence < PageHooks
def pre_render(page)
- page.content = Octopress::Codefence.new(page.content, page.ext).render
+ page.content = Octopress::Codefence.new(page.content, page.ext, page.site.config['pygments_aliases']).render
end
end
end
module Octopress
class Codefence
AllOptions = /([^\s]+)\s+(.+?)\s+(https?:\/\/\S+|\/\S+)\s*(.+)?/i
LangCaption = /([^\s]+)\s*(.+)?/i
- def initialize(input, ext=nil)
+ def initialize(input, ext=nil, aliases=nil)
@input = input
@ext = ext
+ @aliases = aliases
end
def render
@input.encode!("UTF-8")
@input.gsub /^`{3}(.+?)`{3}/m do
@@ -57,9 +58,10 @@
Pygments.parse_markup(markup, defaults)
end
def get_code(code, options)
+ options[:aliases] = @aliases || {}
code = Pygments.highlight(code, options)
code = "<notextile>#{code}</notextile>" if !@ext.nil? and @ext.match(/textile/)
code
end
end