Metadata-Version: 1.1
Name: html-linter
Version: 0.1.5
Summary: Lints an HTML5 file using Google's style guide
Home-page: http://github.com/deezer/html-linter
Author: Sebastian Kreft - Deezer
Author-email: skreft@deezer.com
License: UNKNOWN
Description: HTML Linter
        ===========
        
        .. image:: https://badge.fury.io/py/html-linter.png
            :target: http://badge.fury.io/py/html-linter
        
        .. image:: https://travis-ci.org/deezer/html-linter.png?branch=master
            :target: https://travis-ci.org/deezer/html-linter
        
        .. image:: https://coveralls.io/repos/deezer/html-linter/badge.png?branch=master
            :target: https://coveralls.io/r/deezer/html-linter?branch=master
        
        
        HTML Linter is an HTML5 linter that follows the style guide defined by Google.
        
        Motivation
        ----------
        
        Handling HTML5 files generated by lots of different of people is a difficult
        task, because the standard is evolving quite fast and also because browsers are
        quite open to accept any malformed/invalid/incomplete input.
        
        That's why we decided to have an automated tool to check our coding standard.
        
        We start with the
        `Google standard <https://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml>`_
        and we enhance it with some extra rules deinfed by the project
        `html-minifier <https://github.com/kangax/html-minifier>`_. You can read his
        detailed `article <http://perfectionkills.com/experimenting-with-html-minifier/#remove_redundant_attributes>`_.
        
        The list of extra rules we added are:
        
        * Boolean attributes should not have an explicit value.
        * Do not use the name attribute in a tags.
        * Do not use the language attribute in script tags.
        * Do not use the charset attribute in script tags when there is no source.
        * Javascript:void(0) links are evil.
        * onclick='javascript: ...' is not required. This will raise also a Concerns Separation error.
        * meta http-equiv: use only standard properties + X-UA-compatible
        * No extra whitespaces between attributes or before the opening or closing tag.
        
        What is missing?
        ----------------
        
        Check if the file has BOM.
        
        The abbility to validate the HTML using the tool
        `HTML5 tidy <https://w3c.github.io/tidy-html5/>`_ and to integrate some
        schema.org or microdata validator.
        
        However, we do not have any short terms plans to handle the latter, due to a
        couple of reasons:
        
        * Tidy can be easily integrated using the tool `git-lint <https://github.com/sk-/git-lint>`_
        * Any other validator can also be integrated with `git-lint <https://github.com/sk-/git-lint>`_
        * Adding any extra validator would pull many more dependencies and change the scope.
        
        Limitations
        -----------
        
        html_linter used the project
        `template-remover <https://github.com/deezer/template-remover>`_ to remove the
        PHP and Jinja markup from the files and this project works has some limitations.
        
        
        One example that won't work is the following:::
        
          <?php echo "?>" ?>
        
        The reason it does not work is because when the method sees the first '?>'
        (the one inside the string), it thinks it's a closing tag.
        
        
        Example use
        -----------
        
        Below are example of how template_remover.py is used::
        
          $ html_lint.py filename.html
        
        
        Installation
        ------------
        
        You can install, upgrade or uninstall git-lint with these commands::
        
          $ pip install html-linter
          $ pip install --upgrade html-linter
          $ pip uninstall html-linter
        
        Python Versions
        ---------------
        
        Python 2.7, 3.2 and 3.3 are officially supported.
        
        Development
        -----------
        
        Help for this project is more than welcomed, so feel free to create an issue or
        to send a pull request via http://github.com/deezer/html-linter.
        
        Tests are run using nose, either with::
        
          $ python -R setup.py nosetests
          $ nosetests
        
        Use the tool `git-lint <https://github.com/sk-/git-lint>`_ before any commit, so
        errors and style problems are caught early.
        
        TODOS and Possible Features
        ---------------------------
        
        * Make the output less verbose.
        * Integrate with HTML5 tidy.
        * Integrate with a schema.org/micrdata validator.
        
        
        Changelog
        =========
        
        v0.1 (2014-05-07)
        -------------------
        
        * Initial commit.
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development
