Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Web crawler for checking the validity of your documents.
HTML Ruby
Failed to load latest commit information.
bin Revert "Remove shebang its already handle by RubyGems"
data/schemas Remove whitespace [Gun.io WhitespaceBot]
doc Update year and manpages
lib Fix issue #12 with excessive requests to validator.nu
man/man1 Update year and manpages
spec Added failing test for issue #12
.gemtest follow recommendation from rubygems-test
.gitignore Ignore asciidoc generated files
.rubocop.yml Coding style fix
.travis.yml travis: added 2.2.0 version
Dockerfile Added fig config
Gemfile Fix html5 validator spec
LICENSE Bump year on LICENSE file
README.md
Rakefile Update year and manpages
fig.yml Added fig config
validate-website.gemspec Bump to 1.0.4
validate-website.png update screenshot

README.md

validate-website

Description

Web crawler for checking the validity of your documents

validate website

Installation

Debian

aptitude install ruby-dev libxslt-dev libxml2-dev

RubyGems

gem install validate-website

Synopsis

validate-website [OPTIONS]
validate-website-static [OPTIONS]

Description

validate-website is a web crawler for checking the markup validity with XML Schema / DTD and not found urls (more info doc/validate-website.adoc).

validate-website-static checks the markup validity of your local documents with XML Schema / DTD (more info doc/validate-website-static.adoc).

HTML5 support with Validator.nu Web Service.

Exit status

  • 0: Markup is valid and no 404 found.
  • 64: Not valid markup found.
  • 65: There are pages not found.
  • 66: There are not valid markup and pages not found.

On your application

require 'validate_website/validator'
body = '<!DOCTYPE html><html></html>'
v = ValidateWebsite::Validator.new(Nokogiri::HTML(body), body)
v.valid? # => false

Jekyll static site validation

You can add this Rake task to validate a jekyll site:

desc 'validate _site with validate website'
task validate: :build do
  Dir.chdir('_site') do
    sh("validate-website-static --site '<CONFIG_URL>'") do |ok, res|
      unless ok
        puts "validate error (status = #{res.exitstatus})"
      end
    end
  end
end

Tests

With standard environment:

bundle exec rake

With Docker / Fig:

fig build
fig up

Credits

  • Thanks tenderlove for Nokogiri, this tool is inspired from markup_validity.
  • And Chris Kite for Anemone web-spider framework and postmodern for Spidr.

More info

The HTML5 support is done by using the Validator.nu Web Service, so the content of your webpage is logged by a tier. It's not the case for other validation because validate-website use the XML Schema or DTD stored on the data/ directory.

Please read http://about.validator.nu/#tos for more info on the HTML5 validation service.

Contributors

  • François de Metz (francois2metz)
  • Bruno Michel (nono)
  • Matt Brictson (mbrictson)

License

The MIT License

Copyright (c) 2009-2015 Laurent Arnoud laurent@spkdev.net


Gem Version Build Status Code Climate

Something went wrong with that request. Please try again.