Validate HTML5 files.
Project description
This was written with static site generators like Jekyll and Pelican in mind that push to a static server. html5validator is a command line executable that integrates well with CircleCI and TravisCI and tests all static html files for HTML5 validity.
Install
Install with pip install html5validator and run with
html5validator --root _build/ --ignore "Attribute “ng-[a-z-]+” not allowed"
to validate all html files in the _build directory and to ignore all messages that match the regular expression Attribute “ng-[a-z-]+” not allowed.
This package uses the validator.nu backend which is written in Java. Therefore, a Java Runtime Environment must be available on your system.
Integration with CircleCI
Create a circle.yml file:
dependencies:
pre:
- sudo pip install html5validator
test:
override:
- html5validator
in your repository with static html files and get HTML5 validation on every git push.
Integration with TravisCI
Create a .travis.yml file:
language: python
branches:
only:
- gh-pages
python:
- "2.7"
install:
- "pip install html5validator"
script: "html5validator"
Enable the repository on TravisCI.
You probably don’t want TravisCI to run on the master branch but only on the gh-pages branch. TravisCI has an option (off by default) to run tests only on branches that have a .travis.yml.
You can also use this for user pages (repositories of the form <username>.github.io) where the html files are in the master branch. You only have to remove:
branches:
only:
- gh-pages
from .travis.yml. I am using this on my own user page.
Technical Notes
If you are using grunt already, maybe consider using the grunt-html plugin for grunt instead.
Use --ignore "Attribute “ng-[a-z-]+” not allowed" with angular.js apps.
Example with multiple ignores: html5validator --root tests/multiple_ignores/ --ignore "Attribute “ng-[a-z-]+” not allowed" "Start tag seen without seeing a doctype first"
Be careful with the non-standard quotes in the error messages when constructing the expressions to ignore.
Changelog
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.