lib/trac-wiki/parser.rb in trac-wiki-0.1.6 vs lib/trac-wiki/parser.rb in trac-wiki-0.1.7

- old
+ new

@@ -56,10 +56,13 @@ def no_link?; @no_link; end attr_writer :math def math?; @math; end + attr_writer :merge + def merge?; @merge; end + # Create a new Parser instance. def initialize(text, options = {}) @allowed_schemes = %w(http https ftp ftps) @text = text @no_escape = nil @@ -485,9 +488,18 @@ when math? && str =~ /\A\$\$(.*?)\$\$/m end_paragraph nowikiblock = make_nowikiblock($1) @out << "$$" << escape_html(nowikiblock) << "$$\n" @was_math = true + when merge? && str =~ /\A(<<<<<<<|=======|>>>>>>>)\s+(\S+).*$(\r?\n)?/ + who = $2 + merge_class = case $1[0] + when '<' ; 'merge-mine' + when '=' ; 'merge-orig' + when '>' ; 'merge-your' + end + end_paragraph + @out << "<div class='merge #{merge_class}'>" << escape_html(who) << "</div>\n" when str =~ /\A\{\{\{\r?\n(.*?)\r?\n\}\}\}/m end_paragraph nowikiblock = make_nowikiblock($1) @out << '<pre>' << escape_html(nowikiblock) << '</pre>'