From 42db3cac06ad7f49dc10c7993e2df54b5bb4b2ab Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Thu, 6 Sep 2007 17:06:07 +0000 Subject: Added code highlighting support in wiki, using this syntax:
 <-- cut here

  

    Place you code here.
  
cut here -->
git-svn-id: http://redmine.rubyforge.org/svn/trunk@710 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/wiki_formatting.rb | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb index b6b2ff802..e9f5eb749 100644 --- a/lib/redmine/wiki_formatting.rb +++ b/lib/redmine/wiki_formatting.rb @@ -1,4 +1,5 @@ require 'redcloth' +require 'coderay' module Redmine module WikiFormatting @@ -24,7 +25,22 @@ module Redmine def hard_break( text ) text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1
" ) if hard_breaks end - + + # Patch to add code highlighting support to RedCloth + def smooth_offtags( text ) + unless @pre_list.empty? + ## replace
 content
+          text.gsub!(//) do
+            content = @pre_list[$1.to_i]
+            if content.match(/\s?(.+)/m)
+              content = "" + 
+                CodeRay.scan($2, $1).html(:escape => false, :line_numbers => :inline)
+            end
+            content
+          end
+        end
+      end
+      
       AUTO_LINK_RE = %r{
                         (                          # leading text
                           <\w+.*?>|                # leading HTML tag, or
-- 
cgit v1.2.3