about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2014-05-02 22:40:59 +0000
committerEric Wong <normalperson@yhbt.net>2014-05-04 08:11:19 +0000
commit2255b5c7c1d1cbe0834cfefcab26d54f8008823e (patch)
treef41427e2ebb3c2dd4c9e607f6b212bdcaf34dda6
parent99d27e15c83125b359389a39875f2b494bd06296 (diff)
downloadwrongdoc-2255b5c7c1d1cbe0834cfefcab26d54f8008823e.tar.gz
Revert "remove the Tidy dependency for RDoc 4 / HTML5 compatibility"
This reverts commit 2219b79cba07d26662fa6d780fdf9aa93425bfc2.
-rw-r--r--lib/wrongdoc/final.rb2
-rw-r--r--lib/wrongdoc/parse_xml.rb8
-rw-r--r--lib/wrongdoc/rdoc.rb3
-rw-r--r--wrongdoc.gemspec3
4 files changed, 12 insertions, 4 deletions
diff --git a/lib/wrongdoc/final.rb b/lib/wrongdoc/final.rb
index 35fa949..cf12a9c 100644
--- a/lib/wrongdoc/final.rb
+++ b/lib/wrongdoc/final.rb
@@ -40,7 +40,7 @@ class Wrongdoc::Final
     doc.search('span.search-toggle').each(&unlink)
     doc.search('form').each(&unlink)
 
-    # remove W3C validator link, we don't care as long as there's no JS
+    # remove W3C validator link, we use tidy instead
     doc.search('div#validator-badges p').each { |x|
       /Validate/i =~ x.content and x.unlink
     }
diff --git a/lib/wrongdoc/parse_xml.rb b/lib/wrongdoc/parse_xml.rb
index cd43f3c..6d7abe2 100644
--- a/lib/wrongdoc/parse_xml.rb
+++ b/lib/wrongdoc/parse_xml.rb
@@ -1,5 +1,11 @@
 module Wrongdoc::ParseXML
   def parse_xml(str)
-    Nokogiri::XML(str)
+    opts = {
+      :input_encoding => 'utf8',
+      :output_encoding => 'utf8',
+      :wrap => 0,
+      :tidy_mark => false,
+    }
+    Nokogiri::XML(TidyFFI::Tidy.new(str, opts).clean)
   end
 end
diff --git a/lib/wrongdoc/rdoc.rb b/lib/wrongdoc/rdoc.rb
index 806852b..cb0b5a1 100644
--- a/lib/wrongdoc/rdoc.rb
+++ b/lib/wrongdoc/rdoc.rb
@@ -4,7 +4,8 @@ if (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") && \
   require 'rubygems'
 end
 
-gem 'rdoc', '~> 4.0'
+# we never want the rdoc 2.5.x from Ruby 1.9.2
+gem 'rdoc', '~> 3.9.4'
 require 'rdoc/rdoc'
 
 class Wrongdoc::Rdoc
diff --git a/wrongdoc.gemspec b/wrongdoc.gemspec
index d5c84d2..f2889e5 100644
--- a/wrongdoc.gemspec
+++ b/wrongdoc.gemspec
@@ -22,5 +22,6 @@ Gem::Specification.new do |s|
   s.require_paths = %w(lib)
   s.rubyforge_project = %q{rainbows}
   s.add_dependency(%q<nokogiri>, ['~> 1.5'])
-  s.add_dependency(%q<rdoc>, ['~> 4.0'])
+  s.add_dependency(%q<tidy_ffi>, ['~> 0.1.3'])
+  s.add_dependency(%q<rdoc>, ['~> 3.9.4'])
 end