validate-website 0.6.1 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|