Added code highlighting support in wiki, using this syntax:

<pre><code> <-- cut here

  <pre><code class="ruby">
    Place you code here.
  </code></pre>  

cut here --> </pre></code>

git-svn-id: http://redmine.rubyforge.org/svn/trunk@710 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-09-06 17:06:07 +00:00
parent 22c5e0d614
commit 42db3cac06
5 changed files with 33 additions and 3 deletions
+17 -1
View File
@@ -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<br />" ) if hard_breaks
end
# Patch to add code highlighting support to RedCloth
def smooth_offtags( text )
unless @pre_list.empty?
## replace <pre> content
text.gsub!(/<redpre#(\d+)>/) do
content = @pre_list[$1.to_i]
if content.match(/<code\s+class="(\w+)">\s?(.+)/m)
content = "<code class=\"#{$1} CodeRay\">" +
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