Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
site-wide website markup validator
HTML Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
spec
.gitignore
.rvmrc.example
.travis.yml
Gemfile
MIT-LICENSE
README.rdoc
Rakefile
site_validator.gemspec

README.rdoc

site_validator

Site-wide markup validator. Validate a whole web site on the W3C Markup Validator, from the command line, and generate a comprehensive report of all errors found.

This is the command-line version of markupvalidator.com

Installation:

site_validator is a Ruby gem that can be installed on the usual way

gem install site_validator

Usage:

Pass it a starting URL to be checked, and the filename where you want your report to be generated, like:

site_validator http://ryanair.com/sitemap.xml report.html

This will validate all the internal URLs found on the starting URL, up to a maximum of 250 URLs, and generate an HTML file with the full report.

You can pass site_validator an XML sitemap or the URL of a website; it will scrape it in search of URLs to validate.

Timeouts:

By default, the site_validator gem will set a 20 seconds timeout for each individual request. If you want to set a different timeout, pass it as a third parameter like this:

site_validator http://ryanair.com/sitemap.xml report.html 60

Using an alternate validation server

By default, the site_validator gem will use the official W3C Validator server at validator.w3.org but you can use an alternate server if you want. To do this, define an environment variable on your machine, like:

ENV['W3C_MARKUP_VALIDATOR_URI'] = 'http://example.com/validator'

Follow this guide to know how to setup your own validation server: github.com/tlvince/w3c-validator-guide

Notes:

This gem requires Ruby 1.9, and has been tested on Ruby 1.9.2-p0

License:

This is a free, open source project with a MIT license. See the file MIT-LICENSE for details.

Something went wrong with that request. Please try again.