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.
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
.
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.
To facilitate the primary use case with TravisCI
, this repository also contains a
Python package called html5validator
which can be installed using pip
:
pip install html5validator
This package uses the validator.nu backend which is written in Java. Therefore, a Java Runtime Environment must be available on your system.
The backend uses the same validator that powers the validator.nu backend.
If you are using grunt already, maybe consider using the grunt-html plugin for grunt instead.