validate-website 0.6.1 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +17 -7
- data/Rakefile +1 -57
- data/lib/validate_website/option_parser.rb +1 -0
- data/lib/validate_website/runner.rb +1 -0
- data/lib/validate_website/validator.rb +15 -2
- data/man/man1/validate-website-static.1 +13 -3
- data/man/man1/validate-website.1 +3 -3
- data/spec/data/validator.nu-success.html +2 -0
- data/spec/validator_spec.rb +5 -4
- metadata +175 -179
data/README.rdoc
CHANGED
@@ -17,11 +17,13 @@
|
|
17
17
|
|
18
18
|
== DESCRIPTION
|
19
19
|
|
20
|
-
validate-website is a web crawler for checking the markup validity
|
21
|
-
found urls (more info doc/validate-website.txt).
|
20
|
+
validate-website is a web crawler for checking the markup validity with XML
|
21
|
+
Schema / DTD and not found urls (more info doc/validate-website.txt).
|
22
22
|
|
23
|
-
validate-website-static check the markup validity of your local documents
|
24
|
-
(more info doc/validate-website-static.txt).
|
23
|
+
validate-website-static check the markup validity of your local documents with
|
24
|
+
XML Schema / DTD (more info doc/validate-website-static.txt).
|
25
|
+
|
26
|
+
HTML5 support with Validator.nu Web Service.
|
25
27
|
|
26
28
|
== VALIDATE WEBSITE OPTIONS
|
27
29
|
|
@@ -60,14 +62,22 @@ validate-website-static check the markup validity of your local documents
|
|
60
62
|
|
61
63
|
== REQUIREMENTS
|
62
64
|
|
63
|
-
|
64
|
-
* rainbow, '>= 1.1'
|
65
|
+
See validate-website.gemspec file.
|
65
66
|
|
66
67
|
== CREDITS
|
67
68
|
|
68
69
|
* Thanks tenderlove for Nokogiri, this tool is inspired from markup_validity.
|
69
70
|
* And Chris Kite for Anemone web-spider framework.
|
70
71
|
|
72
|
+
== MORE INFO
|
73
|
+
|
74
|
+
The HTML5 support is done by using the Validator.nu Web Service, so the content
|
75
|
+
of your webpage is logged by a tier. It's not the case for other validation
|
76
|
+
because validate-website use the XML Schema or DTD stored on the data/ directory.
|
77
|
+
|
78
|
+
Please read http://about.validator.nu/#tos for more info on the HTML5
|
79
|
+
validation service.
|
80
|
+
|
71
81
|
== CONTRIBUTORS
|
72
82
|
|
73
83
|
* François de Metz (francois2metz)
|
@@ -75,4 +85,4 @@ validate-website-static check the markup validity of your local documents
|
|
75
85
|
== LICENSE
|
76
86
|
The MIT License
|
77
87
|
|
78
|
-
Copyright (c) 2009-
|
88
|
+
Copyright (c) 2009-2011 Laurent Arnoud <laurent@spkdev.net>
|
data/Rakefile
CHANGED
@@ -1,69 +1,13 @@
|
|
1
|
-
require 'rake/packagetask'
|
2
1
|
require 'rake/rdoctask'
|
3
|
-
require 'rake'
|
4
|
-
require 'find'
|
5
2
|
require "rspec/core/rake_task" # RSpec 2.0
|
6
3
|
|
7
|
-
|
8
|
-
|
9
|
-
PKG_NAME = 'validate-website'
|
10
|
-
PKG_VERSION = '0.6.1'
|
11
|
-
|
12
|
-
PKG_FILES = ['README.rdoc', 'Rakefile', 'LICENSE']
|
13
|
-
Find.find('bin/', 'lib/', 'man/', 'spec/', 'data/') do |f|
|
14
|
-
if FileTest.directory?(f) and f =~ /\.svn|\.git/
|
15
|
-
Find.prune
|
16
|
-
else
|
17
|
-
PKG_FILES << f
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
# Tasks
|
22
|
-
|
23
|
-
task :default => [:clean, :repackage]
|
4
|
+
task :default => [:test]
|
24
5
|
|
25
6
|
Rake::RDocTask.new do |rd|
|
26
7
|
rd.main = "README.rdoc"
|
27
8
|
rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
|
28
9
|
end
|
29
10
|
|
30
|
-
Rake::PackageTask.new(PKG_NAME, PKG_VERSION) do |p|
|
31
|
-
p.need_tar = true
|
32
|
-
p.package_files = PKG_FILES
|
33
|
-
end
|
34
|
-
|
35
|
-
# "Gem" part of the Rakefile
|
36
|
-
require 'rake/gempackagetask'
|
37
|
-
|
38
|
-
spec = Gem::Specification.new do |s|
|
39
|
-
s.author = 'Laurent Arnoud'
|
40
|
-
s.email = 'laurent@spkdev.net'
|
41
|
-
s.homepage = 'http://github.com/spk/validate-website'
|
42
|
-
s.platform = Gem::Platform::RUBY
|
43
|
-
s.summary = 'Web crawler for checking the validity of your documents'
|
44
|
-
s.name = PKG_NAME
|
45
|
-
s.version = PKG_VERSION
|
46
|
-
s.license = 'MIT'
|
47
|
-
s.requirements << 'anemone' << 'rainbow'
|
48
|
-
s.add_dependency('anemone', '>= 0.5.0')
|
49
|
-
s.add_dependency('rainbow', '>= 1.1')
|
50
|
-
s.add_development_dependency('rspec', '>= 2.0.0')
|
51
|
-
s.add_development_dependency('fakeweb', '>= 1.3.0')
|
52
|
-
s.require_path = 'lib'
|
53
|
-
s.bindir = 'bin'
|
54
|
-
s.executables << 'validate-website'
|
55
|
-
s.executables << 'validate-website-static'
|
56
|
-
s.files = PKG_FILES
|
57
|
-
s.description = 'validate-website is a web crawler for checking the markup' +
|
58
|
-
'validity and not found urls.'
|
59
|
-
s.test_files = Dir.glob('spec/*_spec.rb')
|
60
|
-
end
|
61
|
-
|
62
|
-
Rake::GemPackageTask.new(spec) do |pkg|
|
63
|
-
pkg.need_zip = true
|
64
|
-
pkg.need_tar = true
|
65
|
-
end
|
66
|
-
|
67
11
|
desc 'Update manpage from asciidoc file'
|
68
12
|
task :manpage do
|
69
13
|
system('find doc/ -type f -exec a2x -f manpage -D man/man1 {} \;')
|
@@ -12,7 +12,6 @@ module ValidateWebsite
|
|
12
12
|
@dtd = @original_doc.internal_subset
|
13
13
|
init_namespace(@dtd)
|
14
14
|
@errors = []
|
15
|
-
@errors << 'Unknown document' if @namespace.nil?
|
16
15
|
|
17
16
|
if @errors.empty?
|
18
17
|
if @dtd_uri && @body.match(@dtd_uri.to_s)
|
@@ -28,7 +27,7 @@ module ValidateWebsite
|
|
28
27
|
|
29
28
|
# http://www.w3.org/TR/xhtml1-schema/
|
30
29
|
@xsd = Dir.chdir(XHTML_PATH) do
|
31
|
-
if File.exists?(@namespace + '.xsd')
|
30
|
+
if @namespace && File.exists?(@namespace + '.xsd')
|
32
31
|
Nokogiri::XML::Schema(File.read(@namespace + '.xsd'))
|
33
32
|
end
|
34
33
|
end
|
@@ -36,6 +35,20 @@ module ValidateWebsite
|
|
36
35
|
if @xsd
|
37
36
|
# have the xsd so use it
|
38
37
|
@errors = @xsd.validate(@doc)
|
38
|
+
elsif document =~ /^\<!DOCTYPE html\>/i
|
39
|
+
# TODO: use a local Java, Python parser... write a Ruby HTML5 parser ?
|
40
|
+
require 'multipart_body'
|
41
|
+
url = URI.parse('http://validator.nu/')
|
42
|
+
multipart = MultipartBody.new(:content => document)
|
43
|
+
http = Net::HTTP.new(url.host)
|
44
|
+
headers = {
|
45
|
+
'Content-Type' => "multipart/form-data; boundary=#{multipart.boundary}",
|
46
|
+
'Content-Length' => multipart.to_s.bytesize.to_s,
|
47
|
+
}
|
48
|
+
res = http.start {|con| con.post(url.path, multipart.to_s, headers) }
|
49
|
+
if (el = Nokogiri::XML.parse(res.body).at_css('body p.failure'))
|
50
|
+
@errors << "HTML5 validator.nu #{el.content}"
|
51
|
+
end
|
39
52
|
else
|
40
53
|
# dont have xsd fall back to dtd
|
41
54
|
@doc = Dir.chdir(XHTML_PATH) do
|
@@ -2,12 +2,12 @@
|
|
2
2
|
.\" Title: validate-website-static
|
3
3
|
.\" Author: [see the "AUTHOR" section]
|
4
4
|
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
5
|
-
.\" Date:
|
5
|
+
.\" Date: 06/05/2011
|
6
6
|
.\" Manual: \ \&
|
7
7
|
.\" Source: \ \&
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "VALIDATE\-WEBSITE\-S" "1" "
|
10
|
+
.TH "VALIDATE\-WEBSITE\-S" "1" "06/05/2011" "\ \&" "\ \&"
|
11
11
|
.\" -----------------------------------------------------------------
|
12
12
|
.\" * Define some portability stuff
|
13
13
|
.\" -----------------------------------------------------------------
|
@@ -34,7 +34,7 @@ validate-website-static \- check the validity of your documents
|
|
34
34
|
\fBvalidate\-website\-static\fR [\fIOPTIONS\fR]
|
35
35
|
.SH "DESCRIPTION"
|
36
36
|
.sp
|
37
|
-
validate\-website\-static check the markup validity of your local documents\&.
|
37
|
+
validate\-website\-static check the markup validity of your local documents with XML Schema / DTD\&. HTML5 support with Validator\&.nu Web Service\&.
|
38
38
|
.SH "OPTIONS"
|
39
39
|
.PP
|
40
40
|
\fB\-p\fR, \fB\-\-pattern\fR \fIPATTERN\fR
|
@@ -82,6 +82,16 @@ Markup is valid\&.
|
|
82
82
|
.RS 4
|
83
83
|
Not valid markup found\&.
|
84
84
|
.RE
|
85
|
+
.PP
|
86
|
+
65
|
87
|
+
.RS 4
|
88
|
+
There are pages not found\&.
|
89
|
+
.RE
|
90
|
+
.PP
|
91
|
+
66
|
92
|
+
.RS 4
|
93
|
+
There are not valid markup and pages not found\&.
|
94
|
+
.RE
|
85
95
|
.SH "AUTHOR"
|
86
96
|
.sp
|
87
97
|
Laurent Arnoud <laurent@spkdev\&.net>
|
data/man/man1/validate-website.1
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
.\" Title: validate-website
|
3
3
|
.\" Author: [see the "AUTHOR" section]
|
4
4
|
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
5
|
-
.\" Date:
|
5
|
+
.\" Date: 06/05/2011
|
6
6
|
.\" Manual: \ \&
|
7
7
|
.\" Source: \ \&
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "VALIDATE\-WEBSITE" "1" "
|
10
|
+
.TH "VALIDATE\-WEBSITE" "1" "06/05/2011" "\ \&" "\ \&"
|
11
11
|
.\" -----------------------------------------------------------------
|
12
12
|
.\" * Define some portability stuff
|
13
13
|
.\" -----------------------------------------------------------------
|
@@ -34,7 +34,7 @@ validate-website \- Web crawler for checking the validity of your documents
|
|
34
34
|
\fBvalidate\-website\fR [\fIOPTIONS\fR]
|
35
35
|
.SH "DESCRIPTION"
|
36
36
|
.sp
|
37
|
-
validate\-website is a web crawler for checking the markup validity and not found urls\&.
|
37
|
+
validate\-website is a web crawler for checking the markup validity with XML Schema / DTD and not found urls\&. HTML5 support with Validator\&.nu Web Service\&.
|
38
38
|
.SH "OPTIONS"
|
39
39
|
.PP
|
40
40
|
\fB\-s\fR, \fB\-\-site\fR \fISITE\fR
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en"><head><link href="http://about.validator.nu/icon.png" rel="icon"><link href="http://about.validator.nu/style.css" rel="stylesheet"><title>Validation results</title></head><body><h1>Validation results</h1><form method="get"><fieldset><legend>Validator Input</legend><table><tbody><tr title="The document to validate."><th><label for="doc">Document</label></th><td><input type="url" name="doc" id="doc" pattern="(?:(?:https?://.+)|(?:data:.+))?" title="Absolute IRI (http, https or data only) of the document to be checked." class="textarea"></td></tr><tr title="Override for transfer protocol character encoding declaration."><th><label for="charset">Encoding</label></th><td><select id="charset" name="charset"><option value="">As set by the server/page</option><option value="UTF-8">UTF-8 (Global)</option><option value="UTF-16">UTF-16 (Global)</option><option value="Windows-1250">Windows-1250 (Central European)</option><option value="Windows-1251">Windows-1251 (Cyrillic)</option><option value="Windows-1252">Windows-1252 (Western)</option><option value="Windows-1253">Windows-1253 (Greek)</option><option value="Windows-1254">Windows-1254 (Turkish)</option><option value="Windows-1255">Windows-1255 (Hebrew)</option><option value="Windows-1256">Windows-1256 (Arabic)</option><option value="Windows-1257">Windows-1257 (Baltic)</option><option value="Windows-1258">Windows-1258 (Vietnamese)</option><option value="ISO-8859-1">ISO-8859-1 (Western)</option><option value="ISO-8859-2">ISO-8859-2 (Central European)</option><option value="ISO-8859-3">ISO-8859-3 (South European)</option><option value="ISO-8859-4">ISO-8859-4 (Baltic)</option><option value="ISO-8859-5">ISO-8859-5 (Cyrillic)</option><option value="ISO-8859-6">ISO-8859-6 (Arabic)</option><option value="ISO-8859-7">ISO-8859-7 (Greek)</option><option value="ISO-8859-8">ISO-8859-8 (Hebrew)</option><option value="ISO-8859-9">ISO-8859-9 (Turkish)</option><option value="ISO-8859-13">ISO-8859-13 (Baltic)</option><option value="ISO-8859-15">ISO-8859-15 (Western)</option><option value="KOI8-R">KOI8-R (Russian)</option><option value="TIS-620">TIS-620 (Thai)</option><option value="GBK">GBK (Chinese, simplified)</option><option value="GB18030">GB18030 (Chinese, simplified)</option><option value="Big5">Big5 (Chinese, traditional)</option><option value="Big5-HKSCS">Big5-HKSCS (Chinese, traditional)</option><option value="Shift_JIS">Shift_JIS (Japanese)</option><option value="ISO-2022-JP">ISO-2022-JP (Japanese)</option><option value="EUC-JP">EUC-JP (Japanese)</option><option value="ISO-2022-KR">ISO-2022-KR (Korean)</option><option value="EUC-KR">EUC-KR (Korean)</option></select></td></tr><tr title="Space-separated list of schema IRIs. (Leave blank to let the service guess.)"><th><label for="schema">Schemas</label></th><td><input name="schema" id="schema" pattern="(?:(?:(?:https?://\S+)|(?:data:\S+))(?:\s+(?:(?:https?://\S+)|(?:data:\S+)))*)?" title="Space-separated list of schema IRIs. (Leave blank to let the service guess.)" value=""></td></tr><tr title="Selecting a preset overrides the schema field above."><th><label for="preset">Preset</label></th><td><select id="preset" name="preset"><option value="">None</option><option value="http://s.validator.nu/html5/html5full.rnc http://s.validator.nu/html5/assertions.sch http://c.validator.nu/all/">HTML5 (experimental)</option><option value="http://s.validator.nu/html5/html5full-aria.rnc http://s.validator.nu/html5/assertions.sch http://c.validator.nu/all/">HTML5+ARIA (experimental)</option><option value="http://s.validator.nu/html5-aria-svg-mathml.rnc http://s.validator.nu/html5/assertions.sch http://c.validator.nu/all/">HTML5+ARIA, SVG 1.1 plus MathML 2.0 (experimental)</option><option value="http://s.validator.nu/xhtml10/xhtml-strict.rnc http://s.validator.nu/xhtml10/xhtml.sch http://c.validator.nu/all-html4/">HTML 4.01 Strict + IRI / XHTML 1.0 Strict + IRI</option><option value="http://s.validator.nu/xhtml10/xhtml-transitional.rnc http://s.validator.nu/xhtml10/xhtml.sch http://c.validator.nu/all-html4/">HTML 4.01 Transitional + IRI / XHTML 1.0 Transitional + IRI</option><option value="http://s.validator.nu/xhtml10/xhtml-frameset.rnc http://s.validator.nu/xhtml10/xhtml.sch http://c.validator.nu/all-html4/">HTML 4.01 Frameset + IRI / XHTML 1.0 Frameset + IRI</option><option value="http://s.validator.nu/html5/xhtml5full-xhtml.rnc http://s.validator.nu/html5/assertions.sch http://c.validator.nu/all/">XHTML5 (experimental)</option><option value="http://s.validator.nu/xhtml5-aria-rdf-svg-mathml.rnc http://s.validator.nu/html5/assertions.sch http://c.validator.nu/all/">XHTML5+ARIA, SVG 1.1 plus MathML 2.0 (experimental)</option><option value="http://s.validator.nu/xhtml1-rdf-svg-mathml.rnc http://s.validator.nu/xhtml10/xhtml.sch http://c.validator.nu/all-html4/">XHTML 1.0 Strict, SVG 1.1, MathML 2.0 + IRI</option><option value="http://s.validator.nu/xhtml1-ruby-rdf-svg-mathml.rnc http://s.validator.nu/xhtml10/xhtml.sch http://c.validator.nu/all-html4/">XHTML 1.0 Strict, Ruby, SVG 1.1, MathML 2.0 + IRI</option><option value="http://s.validator.nu/xhtml10/xhtml-basic.rnc http://s.validator.nu/xhtml10/xhtml.sch http://c.validator.nu/all-html4/">XHTML Basic + IRI</option><option value="http://s.validator.nu/svg-xhtml5-aria-rdf-mathml.rnc http://s.validator.nu/html5/assertions.sch http://c.validator.nu/all/">SVG 1.1+IRI, XHTML5+ARIA plus MathML 2.0 (experimental)</option></select></td></tr><tr title="The parser to use. Affects HTTP Accept header."><th><label for="parser">Parser</label></th><td><select id="parser" name="parser"><option value="" selected="selected">Automatically from Content-Type</option><option value="xml">XML; don’t load external entities</option><option value="xmldtd">XML; load external entities</option><option value="html">HTML; flavor from doctype</option><option value="html5">HTML5</option><option value="html4">HTML 4.01 Strict</option><option value="html4tr">HTML 4.01 Transitional</option></select></td></tr><tr title="Space-separated list of namespace URIs."><th><label for="nsfilter"><abbr title="XML namespace">XMLNS</abbr> Filter</label></th><td><input name="nsfilter" id="nsfilter" pattern="(?:.+:.+(?:\s+.+:.+)*)?" title="Space-separated namespace URIs for vocabularies to be filtered out."></td></tr><tr title="Disrespect MIME RFCs."><th></th><td><label for="laxtype"><input type="checkbox" name="laxtype" id="laxtype" value="yes"> Be lax about HTTP Content-Type</label></td></tr><tr title="Display a report about the textual alternatives for images."><th></th><td><label for="showimagereport"><input type="checkbox" name="showimagereport" id="showimagereport" value="yes"> Show Image Report</label></td></tr><tr title="Display the markup source of the input document."><th></th><td><label for="showsource"><input type="checkbox" name="showsource" id="showsource" value="yes"> Show Source</label></td></tr><tr><th></th><td><input value="Validate" type="submit" id="submit"></td></tr></tbody></table></fieldset></form><script src="http://about.validator.nu/script.js"></script><ol><li class="info"><p><strong>Info</strong>: <span>The Content-Type was <code>text/html</code>. Using the HTML parser.</span></p></li><li class="info"><p><strong>Info</strong>: <span>Using the schema for HTML5+ARIA, SVG 1.1 plus MathML 2.0 (experimental).</span></p></li></ol><p class="success">The document validates according to the specified schema(s) and to additional constraints checked by the validator.</p><p class="stats">Total execution time 246 milliseconds.</p><hr><p><a href="http://about.validator.nu/">About this Service</a> • <a href="http://html5.validator.nu/">Simplified Interface</a></p></body></html>
|
data/spec/validator_spec.rb
CHANGED
@@ -25,8 +25,12 @@ module ValidateWebsite
|
|
25
25
|
|
26
26
|
describe('html5') do
|
27
27
|
context('when valid') do
|
28
|
+
before do
|
29
|
+
validator_res = File.join('spec', 'data', 'validator.nu-success.html')
|
30
|
+
FakeWeb.register_uri(:any, 'http://validator.nu/',
|
31
|
+
:body => open(validator_res).read)
|
32
|
+
end
|
28
33
|
it "html5 should be valid" do
|
29
|
-
pending("need update html5lib")
|
30
34
|
name = 'html5'
|
31
35
|
file = File.join('spec', 'data', "#{name}.html")
|
32
36
|
page = FakePage.new(name,
|
@@ -36,10 +40,7 @@ module ValidateWebsite
|
|
36
40
|
validator = Validator.new(@html5_page.doc, @html5_page.body)
|
37
41
|
validator.should be_valid
|
38
42
|
end
|
39
|
-
end
|
40
|
-
context('should be valid') do
|
41
43
|
it "with DLFP" do
|
42
|
-
pending("update html5lib ruby ?")
|
43
44
|
name = 'html5'
|
44
45
|
file = File.join('spec', 'data', "#{name}-linuxfr.html")
|
45
46
|
page = FakePage.new(name,
|
metadata
CHANGED
@@ -1,242 +1,238 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: validate-website
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.6.5
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 6
|
9
|
-
- 1
|
10
|
-
version: 0.6.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Laurent Arnoud
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-06-04 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: anemone
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &22543340 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 5
|
33
|
-
- 0
|
34
|
-
version: 0.5.0
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.6.1
|
35
22
|
type: :runtime
|
36
|
-
|
37
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *22543340
|
25
|
+
- !ruby/object:Gem::Dependency
|
38
26
|
name: rainbow
|
27
|
+
requirement: &22542860 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.1.1
|
33
|
+
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
|
35
|
+
version_requirements: *22542860
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: multipart_body
|
38
|
+
requirement: &22542400 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 1
|
49
|
-
version: "1.1"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.2.1
|
50
44
|
type: :runtime
|
51
|
-
version_requirements: *id002
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
name: rspec
|
54
45
|
prerelease: false
|
55
|
-
|
46
|
+
version_requirements: *22542400
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: &22541940 !ruby/object:Gem::Requirement
|
56
50
|
none: false
|
57
|
-
requirements:
|
58
|
-
- -
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
|
61
|
-
segments:
|
62
|
-
- 2
|
63
|
-
- 0
|
64
|
-
- 0
|
65
|
-
version: 2.0.0
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.8.7
|
66
55
|
type: :development
|
67
|
-
version_requirements: *id003
|
68
|
-
- !ruby/object:Gem::Dependency
|
69
|
-
name: fakeweb
|
70
56
|
prerelease: false
|
71
|
-
|
57
|
+
version_requirements: *22541940
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rspec
|
60
|
+
requirement: &22541480 !ruby/object:Gem::Requirement
|
72
61
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 2.6.0
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *22541480
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: fakeweb
|
71
|
+
requirement: &22541020 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
81
76
|
version: 1.3.0
|
82
77
|
type: :development
|
83
|
-
|
84
|
-
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *22541020
|
80
|
+
description: validate-website is a web crawler for checking the markup validity with
|
81
|
+
XML Schema / DTD and not found urls.
|
85
82
|
email: laurent@spkdev.net
|
86
|
-
executables:
|
83
|
+
executables:
|
87
84
|
- validate-website
|
88
85
|
- validate-website-static
|
89
86
|
extensions: []
|
90
|
-
|
91
87
|
extra_rdoc_files: []
|
92
|
-
|
93
|
-
files:
|
88
|
+
files:
|
94
89
|
- README.rdoc
|
95
90
|
- Rakefile
|
96
91
|
- LICENSE
|
97
|
-
- bin/validate-website-static
|
98
|
-
- bin/validate-website
|
99
92
|
- lib/validate_website/validator.rb
|
100
|
-
- lib/validate_website/runner.rb
|
101
|
-
- lib/validate_website/core.rb
|
102
93
|
- lib/validate_website/colorful_messages.rb
|
94
|
+
- lib/validate_website/core.rb
|
103
95
|
- lib/validate_website/option_parser.rb
|
96
|
+
- lib/validate_website/runner.rb
|
104
97
|
- lib/validate_website.rb
|
105
|
-
- man/man1/validate-website-static.1
|
106
98
|
- man/man1/validate-website.1
|
107
|
-
-
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
114
|
-
- spec/fakeweb_helper.rb
|
115
|
-
- data/schemas/xhtml-blkphras-1.xsd
|
116
|
-
- data/schemas/xhtml1-transitional.xsd
|
117
|
-
- data/schemas/xhtml1-strict.xsd
|
118
|
-
- data/schemas/xhtml-blkstruct-1.xsd
|
99
|
+
- man/man1/validate-website-static.1
|
100
|
+
- data/schemas/xhtml-basic10-module-redefines-1.xsd
|
101
|
+
- data/schemas/xhtml-frames-1.xsd
|
102
|
+
- data/schemas/xhtml-basic11.xsd
|
103
|
+
- data/schemas/xhtml-edit-1.xsd
|
104
|
+
- data/schemas/xml-handlers-1.xsd
|
105
|
+
- data/schemas/xhtml-basic10.xsd
|
119
106
|
- data/schemas/xhtml11-modules-1.xsd
|
120
|
-
- data/schemas/xhtml-
|
121
|
-
- data/schemas/xhtml-basic11.dtd
|
122
|
-
- data/schemas/xhtml-inlpres-1.xsd
|
107
|
+
- data/schemas/xhtml-basic10-modules-1.xsd
|
123
108
|
- data/schemas/xhtml-inlphras-1.xsd
|
109
|
+
- data/schemas/xhtml-inputmode-1.xsd
|
110
|
+
- data/schemas/xhtml-ruby-basic-1.xsd
|
111
|
+
- data/schemas/xhtml1-strict.dtd
|
112
|
+
- data/schemas/xhtml-notations-1.xsd
|
113
|
+
- data/schemas/xhtml-rdfa-model-1.xsd
|
114
|
+
- data/schemas/xhtml1-transitional.xsd
|
115
|
+
- data/schemas/xhtml-image-1.xsd
|
116
|
+
- data/schemas/xhtml-basic10-model-1.xsd
|
117
|
+
- data/schemas/xhtml11.xsd
|
118
|
+
- data/schemas/xhtml-inlstruct-1.xsd
|
119
|
+
- data/schemas/xhtml-inlpres-1.xsd
|
120
|
+
- data/schemas/xml-events-attribs-2.xsd
|
121
|
+
- data/schemas/xhtml-link-1.xsd
|
122
|
+
- data/schemas/xhtml-framework-1.xsd
|
123
|
+
- data/schemas/xhtml-text-1.xsd
|
124
|
+
- data/schemas/xhtml-rdfa-1.xsd
|
125
|
+
- data/schemas/xhtml-legacy-1.xsd
|
126
|
+
- data/schemas/xml-events-1.xsd
|
127
|
+
- data/schemas/xml-script-1.xsd
|
124
128
|
- data/schemas/xhtml-misc-1.xsd
|
125
|
-
- data/schemas/
|
129
|
+
- data/schemas/loose.dtd
|
130
|
+
- data/schemas/xhtml-lat1.ent
|
131
|
+
- data/schemas/xhtml-basic-form-1.xsd
|
132
|
+
- data/schemas/xhtml-basic11-modules-1.xsd
|
133
|
+
- data/schemas/xhtml-nameident-1.xsd
|
126
134
|
- data/schemas/xhtml1-frameset.xsd
|
127
|
-
- data/schemas/xhtml-meta-1.xsd
|
128
135
|
- data/schemas/xhtml1-frameset.dtd
|
136
|
+
- data/schemas/xhtml-script-1.xsd
|
137
|
+
- data/schemas/xhtml-target-1.xsd
|
138
|
+
- data/schemas/xhtml-ruby-1.xsd
|
139
|
+
- data/schemas/xhtml1-transitional.dtd
|
140
|
+
- data/schemas/xhtml-meta-1.xsd
|
141
|
+
- data/schemas/xhtml-events-1.xsd
|
142
|
+
- data/schemas/xhtml-inlstyle-1.xsd
|
143
|
+
- data/schemas/xhtml-csismap-1.xsd
|
144
|
+
- data/schemas/xhtml2.xsd
|
145
|
+
- data/schemas/xhtml-metaAttributes-1.xsd
|
129
146
|
- data/schemas/xml-events-copyright-2.xsd
|
130
|
-
- data/schemas/xml-handlers-2.xsd
|
131
|
-
- data/schemas/xhtml-object-1.xsd
|
132
|
-
- data/schemas/xhtml-bdo-1.xsd
|
133
147
|
- data/schemas/frameset.dtd
|
134
|
-
- data/schemas/
|
135
|
-
- data/schemas/
|
136
|
-
- data/schemas/xhtml-
|
137
|
-
- data/schemas/xhtml-
|
138
|
-
- data/schemas/
|
139
|
-
- data/schemas/
|
140
|
-
- data/schemas/
|
141
|
-
- data/schemas/
|
142
|
-
- data/schemas/xhtml-
|
143
|
-
- data/schemas/xhtml-ssismap-1.xsd
|
144
|
-
- data/schemas/xhtml-basic10-modules-1.xsd
|
145
|
-
- data/schemas/xhtml-events-1.xsd
|
146
|
-
- data/schemas/xhtml-form-1.xsd
|
148
|
+
- data/schemas/xhtml-base-1.xsd
|
149
|
+
- data/schemas/xhtml-blkpres-1.xsd
|
150
|
+
- data/schemas/xhtml-blkstruct-1.xsd
|
151
|
+
- data/schemas/xhtml-rdfa-modules-1.xsd
|
152
|
+
- data/schemas/xml-events-copyright-1.xsd
|
153
|
+
- data/schemas/xhtml11-module-redefines-1.xsd
|
154
|
+
- data/schemas/xhtml11-model-1.xsd
|
155
|
+
- data/schemas/xml-events-2.xsd
|
156
|
+
- data/schemas/xhtml-print-1.xsd
|
147
157
|
- data/schemas/xhtml-struct-1.xsd
|
148
|
-
- data/schemas/
|
149
|
-
- data/schemas/xhtml-print-modules-1.xsd
|
150
|
-
- data/schemas/xhtml-basic10.xsd
|
158
|
+
- data/schemas/xhtml-special.ent
|
151
159
|
- data/schemas/xframes-1.xsd
|
152
|
-
- data/schemas/xhtml-
|
160
|
+
- data/schemas/xhtml-copyright-1.xsd
|
161
|
+
- data/schemas/xhtml-param-1.xsd
|
162
|
+
- data/schemas/xhtml-basic11.dtd
|
163
|
+
- data/schemas/xhtml-basic-table-1.xsd
|
164
|
+
- data/schemas/xhtml-access-1.xsd
|
153
165
|
- data/schemas/xhtml-datatypes-1.xsd
|
166
|
+
- data/schemas/xhtml-print-model-1.xsd
|
167
|
+
- data/schemas/strict.dtd
|
168
|
+
- data/schemas/xhtml-attribs-1.xsd
|
169
|
+
- data/schemas/xhtml-rdfa-1.dtd
|
170
|
+
- data/schemas/xhtml-blkphras-1.xsd
|
171
|
+
- data/schemas/xhtml-print-modules-1.xsd
|
172
|
+
- data/schemas/xhtml-table-1.xsd
|
173
|
+
- data/schemas/xhtml-style-1.xsd
|
174
|
+
- data/schemas/xml-handlers-2.xsd
|
154
175
|
- data/schemas/xhtml-pres-1.xsd
|
155
|
-
- data/schemas/
|
156
|
-
- data/schemas/xhtml1-transitional.dtd
|
157
|
-
- data/schemas/xhtml-access-1.xsd
|
158
|
-
- data/schemas/xhtml-target-1.xsd
|
159
|
-
- data/schemas/xhtml-param-1.xsd
|
160
|
-
- data/schemas/xhtml-special.ent
|
161
|
-
- data/schemas/xhtml-legacy-1.xsd
|
162
|
-
- data/schemas/xhtml-frames-1.xsd
|
163
|
-
- data/schemas/xhtml11-model-1.xsd
|
164
|
-
- data/schemas/xhtml-inlstyle-1.xsd
|
165
|
-
- data/schemas/xhtml-text-1.xsd
|
166
|
-
- data/schemas/xhtml1-strict.dtd
|
167
|
-
- data/schemas/xhtml-list-1.xsd
|
168
|
-
- data/schemas/xhtml-framework-1.xsd
|
169
|
-
- data/schemas/xml-events-copyright-1.xsd
|
170
|
-
- data/schemas/xhtml-print-1.xsd
|
171
|
-
- data/schemas/xml-events-2.xsd
|
176
|
+
- data/schemas/xml-events-attribs-1.xsd
|
172
177
|
- data/schemas/xhtml-applet-1.xsd
|
173
|
-
- data/schemas/xhtml-
|
174
|
-
- data/schemas/
|
175
|
-
- data/schemas/xhtml-
|
176
|
-
- data/schemas/xhtml-
|
177
|
-
- data/schemas/xhtml-
|
178
|
-
- data/schemas/xhtml-notations-1.xsd
|
179
|
-
- data/schemas/xhtml11-module-redefines-1.xsd
|
180
|
-
- data/schemas/xhtml-basic11-modules-1.xsd
|
181
|
-
- data/schemas/xml-events-attribs-2.xsd
|
182
|
-
- data/schemas/xhtml-rdfa-model-1.xsd
|
183
|
-
- data/schemas/xhtml-script-1.xsd
|
178
|
+
- data/schemas/xhtml-bdo-1.xsd
|
179
|
+
- data/schemas/xhtml1-strict.xsd
|
180
|
+
- data/schemas/xhtml-object-1.xsd
|
181
|
+
- data/schemas/xhtml-basic11-model-1.xsd
|
182
|
+
- data/schemas/xhtml-symbol.ent
|
184
183
|
- data/schemas/xhtml-hypertext-1.xsd
|
185
|
-
- data/schemas/xhtml-rdfa-modules-1.xsd
|
186
|
-
- data/schemas/xhtml-image-1.xsd
|
187
184
|
- data/schemas/xml.xsd
|
188
|
-
- data/schemas/xhtml-
|
189
|
-
- data/schemas/xhtml-
|
190
|
-
- data/schemas/
|
191
|
-
- data/schemas/
|
192
|
-
- data/schemas/xhtml-
|
193
|
-
-
|
194
|
-
- data/
|
195
|
-
- data/
|
196
|
-
- data/
|
197
|
-
- data/
|
198
|
-
- data/
|
199
|
-
-
|
200
|
-
-
|
201
|
-
-
|
202
|
-
-
|
203
|
-
-
|
204
|
-
- data/schemas/xhtml-ruby-1.xsd
|
205
|
-
has_rdoc: true
|
185
|
+
- data/schemas/xhtml-form-1.xsd
|
186
|
+
- data/schemas/xhtml-iframe-1.xsd
|
187
|
+
- data/schemas/xhtml-ssismap-1.xsd
|
188
|
+
- data/schemas/xhtml-list-1.xsd
|
189
|
+
- data/schemas/xhtml-charent-1.xsd
|
190
|
+
- spec/spec_helper.rb
|
191
|
+
- spec/data/html5.html
|
192
|
+
- spec/data/html4-strict.html
|
193
|
+
- spec/data/validator.nu-success.html
|
194
|
+
- spec/data/html5-linuxfr.html
|
195
|
+
- spec/data/xhtml1-strict.html
|
196
|
+
- spec/core_spec.rb
|
197
|
+
- spec/fakeweb_helper.rb
|
198
|
+
- spec/validator_spec.rb
|
199
|
+
- bin/validate-website
|
200
|
+
- bin/validate-website-static
|
206
201
|
homepage: http://github.com/spk/validate-website
|
207
|
-
licenses:
|
202
|
+
licenses:
|
208
203
|
- MIT
|
209
204
|
post_install_message:
|
210
205
|
rdoc_options: []
|
211
|
-
|
212
|
-
require_paths:
|
206
|
+
require_paths:
|
213
207
|
- lib
|
214
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
208
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
215
209
|
none: false
|
216
|
-
requirements:
|
217
|
-
- -
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
|
220
|
-
|
221
|
-
- 0
|
222
|
-
version: "0"
|
223
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
215
|
none: false
|
225
|
-
requirements:
|
226
|
-
- -
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
|
229
|
-
|
230
|
-
- 0
|
231
|
-
version: "0"
|
232
|
-
requirements:
|
216
|
+
requirements:
|
217
|
+
- - ! '>='
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0'
|
220
|
+
requirements:
|
233
221
|
- anemone
|
234
222
|
- rainbow
|
223
|
+
- multipart_body
|
235
224
|
rubyforge_project:
|
236
|
-
rubygems_version: 1.
|
225
|
+
rubygems_version: 1.7.2
|
237
226
|
signing_key:
|
238
227
|
specification_version: 3
|
239
228
|
summary: Web crawler for checking the validity of your documents
|
240
|
-
test_files:
|
229
|
+
test_files:
|
230
|
+
- spec/spec_helper.rb
|
231
|
+
- spec/data/html5.html
|
232
|
+
- spec/data/html4-strict.html
|
233
|
+
- spec/data/validator.nu-success.html
|
234
|
+
- spec/data/html5-linuxfr.html
|
235
|
+
- spec/data/xhtml1-strict.html
|
241
236
|
- spec/core_spec.rb
|
237
|
+
- spec/fakeweb_helper.rb
|
242
238
|
- spec/validator_spec.rb
|