From 35da594bfc9c9f1fd33623e45f8f3d14fa82ce2a Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 26 Sep 2011 16:45:21 -0500 Subject: [PATCH] Switch to pygments.rb --- gollum.gemspec | 2 +- lib/gollum.rb | 1 - lib/gollum/albino.rb | 5 ----- lib/gollum/markup.rb | 9 +++++---- 4 files changed, 6 insertions(+), 11 deletions(-) delete mode 100644 lib/gollum/albino.rb diff --git a/gollum.gemspec b/gollum.gemspec index 4781653a..dcad9c2a 100644 --- a/gollum.gemspec +++ b/gollum.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |s| s.add_dependency('grit', "~> 2.4.1") s.add_dependency('github-markup', [">= 0.4.0", "< 1.0.0"]) - s.add_dependency('albino', "~> 1.3.2") + s.add_dependency('pygments.rb', "~> 0.2.0") s.add_dependency('sinatra', "~> 1.0") s.add_dependency('mustache', [">= 0.11.2", "< 1.0.0"]) s.add_dependency('sanitize', "~> 2.0.0") diff --git a/lib/gollum.rb b/lib/gollum.rb index 0bcc7d1a..1d9d595a 100644 --- a/lib/gollum.rb +++ b/lib/gollum.rb @@ -16,7 +16,6 @@ require File.expand_path('../gollum/wiki', __FILE__) require File.expand_path('../gollum/page', __FILE__) require File.expand_path('../gollum/file', __FILE__) require File.expand_path('../gollum/markup', __FILE__) -require File.expand_path('../gollum/albino', __FILE__) require File.expand_path('../gollum/sanitization', __FILE__) module Gollum diff --git a/lib/gollum/albino.rb b/lib/gollum/albino.rb deleted file mode 100644 index fa9fbe4d..00000000 --- a/lib/gollum/albino.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'albino/multi' - -class Gollum::Albino < Albino::Multi - self.bin = ::Albino::Multi.bin -end diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index bb63af49..143b2623 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -1,5 +1,6 @@ require 'digest/sha1' require 'cgi' +require 'pygments' module Gollum @@ -398,9 +399,8 @@ module Gollum end highlighted = begin - blocks.size.zero? ? [] : Gollum::Albino.colorize(blocks) - rescue ::Albino::ShellArgumentError, ::Albino::TimeoutExceeded, - ::Albino::MaximumOutputExceeded + blocks.map { |lang, code| Pygments.highlight(code, :lexer => lang) } + rescue ::RubyPython::PythonError [] end @@ -467,8 +467,9 @@ module Gollum doc.search('pre').each do |node| next unless lang = node['lang'] + next unless lexer = Pygments::Lexer[lang] text = node.inner_text - html = Gollum::Albino.colorize(text, lang) + html = lexer.highlight(text) node.replace(html) end