From ef6aa6b5c47a505b3e9b2d18a632c90f9eca6d15 Mon Sep 17 00:00:00 2001 From: Sebastian Staudt Date: Mon, 4 May 2009 23:53:40 +0200 Subject: [PATCH] Added passing of all options to Pygments, not just "linenos" --- lib/jekyll/tags/highlight.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/tags/highlight.rb b/lib/jekyll/tags/highlight.rb index 046cf290..35e27f91 100644 --- a/lib/jekyll/tags/highlight.rb +++ b/lib/jekyll/tags/highlight.rb @@ -4,15 +4,28 @@ module Jekyll include Liquid::StandardFilters # we need a language, but the linenos argument is optional. - SYNTAX = /(\w+)\s?(:?linenos)?\s?/ + SYNTAX = /(\w+)\s?([\w\s=]+)*/ def initialize(tag_name, markup, tokens) super if markup =~ SYNTAX @lang = $1 if defined? $2 + tmp_options = {} + $2.split.each do |opt| + key, value = opt.split('=') + if value.nil? + if key == 'linenos' + value = 'inline' + else + value = true + end + end + tmp_options[key] = value + end + tmp_options = tmp_options.to_a.collect { |opt| opt.join('=') } # additional options to pass to Albino. - @options = { 'O' => 'linenos=inline' } + @options = { 'O' => tmp_options.join(',') } else @options = {} end