More fixes, sync with HTML5lib
Do a better job with the wrapper <div>s added by xhtmldiff and Maruku's to_html_tree method. More tests fixed.
This commit is contained in:
parent
3ca33e52b5
commit
3de374d6c1
20 changed files with 541 additions and 118 deletions
|
@ -44,7 +44,7 @@ module Engines
|
|||
require 'maruku/ext/math'
|
||||
html = sanitize_rexml(Maruku.new(@content.delete("\r\x01-\x08\x0B\x0C\x0E-\x1F"),
|
||||
{:math_enabled => false}).to_html_tree)
|
||||
html.gsub(/\A<div>(.*)<\/div>\z/, '\1')
|
||||
html.gsub(/\A<div class="maruku_wrapper_div">\n?(.*?)\n?<\/div>\Z/m, '\1')
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -56,7 +56,7 @@ module Engines
|
|||
require 'maruku/ext/math'
|
||||
html = sanitize_rexml(Maruku.new(@content.delete("\r\x01-\x08\x0B\x0C\x0E-\x1F"),
|
||||
{:math_enabled => true, :math_numbered => ['\\[','\\begin{equation}']}).to_html_tree)
|
||||
html.gsub(/\A<div>(.*)<\/div>\z/, '\1')
|
||||
html.gsub(/\A<div class="maruku_wrapper_div">\n?(.*?)\n?<\/div>\Z/m, '\1')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
require 'xhtmldiff'
|
||||
|
||||
# Temporary class containing all rendering stuff from a Revision
|
||||
# I want to shift all rendering loguc to the controller eventually
|
||||
|
||||
|
@ -43,7 +44,9 @@ class PageRenderer
|
|||
previous_content = "<div>" + WikiContent.new(previous_revision, @@url_generator).render!.to_s + "</div>"
|
||||
current_content = "<div>" + display_content.to_s + "</div>"
|
||||
diff_doc = REXML::Document.new
|
||||
diff_doc << (div = REXML::Element.new 'div')
|
||||
div = REXML::Element.new('div', nil, {:respect_whitespace =>:all})
|
||||
div.attributes['class'] = 'xhtmldiff_wrapper'
|
||||
diff_doc << div
|
||||
hd = XHTMLDiff.new(div)
|
||||
|
||||
parsed_previous_revision = REXML::HashableElementDelegator.new(
|
||||
|
@ -54,7 +57,7 @@ class PageRenderer
|
|||
|
||||
diffs = ''
|
||||
diff_doc.write(diffs, -1, true, true)
|
||||
diffs.gsub(/^<div>(.*)<\/div>$/, '\1')
|
||||
diffs.gsub(/\A<div class='xhtmldiff_wrapper'>(.*)<\/div>\Z/m, '\1')
|
||||
else
|
||||
display_content
|
||||
end
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
require 'cgi'
|
||||
require_dependency 'chunks/engines'
|
||||
require_dependency 'chunks/category'
|
||||
require 'chunks/engines'
|
||||
require 'chunks/category'
|
||||
require_dependency 'chunks/include'
|
||||
require_dependency 'chunks/wiki'
|
||||
require_dependency 'chunks/literal'
|
||||
require_dependency 'chunks/uri'
|
||||
require_dependency 'chunks/nowiki'
|
||||
require 'chunks/nowiki'
|
||||
|
||||
# Wiki content is just a string that can process itself with a chain of
|
||||
# actions. The actions can modify wiki content so that certain parts of
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue