lib/jekyll/blocks.rb in jekyll-0.1.4 vs lib/jekyll/blocks.rb in jekyll-0.1.5

- old
+ new

@@ -1,22 +1,37 @@ module Jekyll + class Highlight < Liquid::Block include Liquid::StandardFilters def initialize(tag_name, lang, tokens) super @lang = lang.strip end def render(context) - #The div is required because RDiscount blows ass + if Jekyll.pygments + render_pygments(context, super.to_s) + else + render_codehighlighter(context, super.to_s) + end + end + + def render_pygments(context, code) + "<notextile>" + Albino.new(code, @lang).to_s + "</notextile>" + end + + def render_codehighlighter(context, code) + #The div is required because RDiscount blows ass <<-HTML <div> <pre> - <code class='#{@lang}'>#{h(super.to_s).strip}</code> + <code class='#{@lang}'>#{h(code).strip}</code> </pre> </div> HTML - end + end end + end + Liquid::Template.register_tag('highlight', Jekyll::Highlight) \ No newline at end of file