skip to navigation
skip to content

html5validator 0.2.6

Validate HTML5 files.

HTML5 Validator

This was written with static site generators like `Jekyll <http:""/>`_
and `Pelican <http:""/>`_ 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.

.. image::
.. image::


This module requires Python 2.7, 3.4 or 3.5 and Java 8.
Install with ``pip install html5validator`` and run with

.. code-block:: bash

html5validator --root _build/ --ignore-re '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``.
Run ``html5validator --help`` to see the list of command line options.

.. image::

This module uses the ` backend <https:"" validator="""">`_
which is written in Java. Therefore, a Java Runtime Environment must be
available on your system. Since version 0.2, Java 8 is required.

Integration with CircleCI

Create a ``circle.yml`` file:

.. code-block:: yaml

version: oraclejdk8
- sudo pip install html5validator
- html5validator --root _build/

in your repository with static html files and get HTML5 validation on every
``git push``.

Integration with TravisCI

Create a ``.travis.yml`` file. This is an example for a Python project:

.. code-block:: yaml

language: python
- "2.7"

- gh-pages

# install Java 8 as required by vnu.jar
- sudo apt-get update
- sudo apt-get install oracle-java8-installer
- sudo update-java-alternatives -s java-8-oracle

- pip install html5validator

script: html5validator --root _build/

This is an example for Java project:

.. code-block:: yaml

language: java
- oraclejdk8 # vnu.jar requires Java 8

- gh-pages

- pip install --user html5validator

script: html5validator --root _build/

Fix the ``html5validator`` version by using
``pip install --user html5validator==<version number="">``.

You can also use this for user pages (repositories of the form ``<username>``)
where the html files are in the master branch. You only have to remove:

.. code-block:: yaml

- gh-pages

from ``.travis.yml``. I am using this on
`my own user page <https:"" svenkreiss="""" blob="" master="" .travis.yml="">`_.

Integration with CodeShip

Add this lines to the ``Setup Commands``:

.. code-block:: yaml

jdk_switcher use oraclejdk8
pip install html5validator

This is an example for Ruby project:

.. code-block:: yaml

rvm use 2.2.0 --install
bundle install
bundle update
export RAILS_ENV=test
jdk_switcher use oraclejdk8
pip install html5validator

Technical Notes

* If you are using grunt already, maybe consider using the
`grunt-html <https:"" jzaefferer="" grunt-html="">`_ plugin for grunt instead.
* Use ``--ignore-re 'Attribute "ng-[a-z-]+" not allowed'`` with angular.js apps.
* Example with multiple ignores: ``html5validator --root tests/multiple_ignores/ --ignore-re 'Attribute "ng-[a-z-]+" not allowed' 'Start tag seen without seeing a doctype first'``


Install a particular version, for example ``0.1.14``, with ``pip install html5validator==0.1.14``.

* `master <https:"" svenkreiss="" html5validator="" compare="" v0.2.5...master="">`_
* `0.2.5 <https:"" svenkreiss="" html5validator="" compare="" v0.2.4...v0.2.5="">`_ (2016-07-30)
* clamp CLI return value at 255: `PR <https:"" svenkreiss="" html5validator="" pull="" 26="">`_
* `0.2.4 <https:"" svenkreiss="" html5validator="" compare="" v0.2.3...v0.2.4="">`_ (2016-07-14)
* a fix for Cygwin thanks to this `PR <https:"" svenkreiss="" html5validator="" pull="" 20="">`_
* `0.2.3 <https:"" svenkreiss="" html5validator="" compare="" v0.2.2...v0.2.3="">`_ (2016-07-05)
* ``vnu.jar`` updated to 16.6.29 thanks to this `PR <https:"" svenkreiss="" html5validator="" pull="" 19="">`_
* `0.2.2 <https:"" svenkreiss="" html5validator="" compare="" v0.2.1...v0.2.2="">`_ (2016-04-30)
* ``vnu.jar`` updated to 16.3.3
* `0.2.1 <https:"" svenkreiss="" html5validator="" compare="" v0.1.14...v0.2.1="">`_ (2016-01-25)
* ``--ignore``, ``--ignore-re``: ignore messages containing an exact pattern or
matching a regular expression (migration from version 0.1.14: replace ``--ignore`` with ``--ignore-re``)
* curly quotes and straight quotes can now be used interchangeably
* change Java stack size handling (introduced the new command line options ``-l``, ``-ll`` and ``-lll``)
* update vnu.jar to 16.1.1 (which now requires Java 8)
* `0.1.14 <https:"" svenkreiss="" html5validator="" compare="" v0.1.12...v0.1.14="">`_ (2015-10-09)
* change text encoding handling
* adding command line arguments ``--log`` and ``--version``
* `0.1.12 <https:"" svenkreiss="" html5validator="" compare="" v0.1.9...v0.1.12="">`_ (2015-05-07)
* document how to specify multiple regular expressions to be ignored
* add ``--ignore`` as command line argument. Takes a regular expression
for warnings and errors that should be ignored.
* `0.1.9 <https:"" svenkreiss="" html5validator="" compare="" v0.1.8...v0.1.9="">`_ (2015-03-02)  
File Type Py Version Uploaded on Size
html5validator-0.2.6.tar.gz (md5) Source 2016-11-22 20MB