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