diff --git a/lib/gollum/frontend/public/gollum/livepreview/js/livepreview.js b/lib/gollum/frontend/public/gollum/livepreview/js/livepreview.js index 8aefeb51..7317f4a1 100644 --- a/lib/gollum/frontend/public/gollum/livepreview/js/livepreview.js +++ b/lib/gollum/frontend/public/gollum/livepreview/js/livepreview.js @@ -195,12 +195,13 @@ var previewSet = function( text ) { }; // 'c', 'c++', 'cpp' are github specific and transformed to c_cpp for Ace. -var languages = [ 'c', 'c++', 'cpp', 'clojure', 'coffee', 'coldfusion', - 'csharp', 'css', 'diff', 'golang', 'groovy', 'haxe', 'html', - 'java', 'javascript', 'json', 'latex', 'less', 'liquid', - 'lua', 'markdown', 'ocaml', 'perl', 'pgsql', 'php', 'powershell', - 'python', 'ruby', 'scad', 'scala', 'scss', 'sh', 'sql', 'svg', - 'textile', 'text', 'xml', 'xquery', 'yaml' ]; +// 'coffeescript' is transformed to 'coffee' for Ace. +var languages = [ 'c', 'c++', 'cpp', 'clojure', 'coffee', + 'coffeescript', 'coldfusion', 'csharp', 'css', 'diff', 'golang', + 'groovy', 'haxe', 'html', 'java', 'javascript', 'json', 'latex', + 'less', 'liquid', 'lua', 'markdown', 'ocaml', 'perl', 'pgsql', 'php', + 'powershell', 'python', 'ruby', 'scad', 'scala', 'scss', 'sh', 'sql', + 'svg', 'textile', 'text', 'xml', 'xquery', 'yaml' ]; var staticHighlight = require( 'ace/ext/static_highlight' ); var githubTheme = require( 'ace/theme/github' ); @@ -303,6 +304,12 @@ var makePreviewHtml = function () { aceMode = 'c_cpp'; } + // Pygments's name for CoffeeScript is 'coffeescript', but Ace + // calls it 'coffee'. + if ( declaredLanguage === 'coffeescript' ) { + aceMode = 'coffee'; + } + if ( $.inArray( declaredLanguage, languages ) === -1 ) { // Unsupported language. skipped++; diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index d1fa9fa0..2f27d6fa 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -558,12 +558,12 @@ module Gollum encoding ||= 'utf-8' begin hl_code = Pygments.highlight(code, :lexer => lang, :options => {:encoding => encoding.to_s}) - rescue ::RubyPython::PythonError + rescue hl_code = code end highlighted << hl_code end - + @codemap.each do |id, spec| body = spec[:output] || begin if (body = highlighted.shift.to_s).size > 0 diff --git a/test/test_markup.rb b/test/test_markup.rb index 3424e92a..285be397 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -534,6 +534,14 @@ np.array([[2,2],[1,3]],np.float) assert_equal %Q{
a\n
<p>a\n!rel</p>\na\ncode\nb
}, output + end + ######################################################################### # # Web Sequence Diagrams