跳转到主要内容

使用Google的样式指南检查HTML5文件

项目描述

HTML Linter

https://badge.fury.io/py/html-linter.svg https://api.travis-ci.org/sk-/html-linter.svg?branch=master https://coveralls.io/repos/sk-/html-linter/badge.svg?branch=master

HTML Linter是一个遵循Google定义的样式指南的HTML5代码检查工具。

动机

处理由许多人生成的HTML5文件是一项困难的任务,因为标准变化非常快,同时浏览器也相当开放,接受任何不完整、无效或错误的输入。

这就是我们决定有一个自动化的工具来检查我们的编码标准的原因。

我们从Google标准开始,并添加了一些由项目html-minifier定义的额外规则。你可以阅读他的详细文章

我们添加的额外规则列表包括

  • 布尔属性不应有显式值。

  • 不要在标签中使用name属性。

  • 不要在脚本标签中使用language属性。

  • 当没有源时,不要在脚本标签中使用charset属性。

  • Javascript:void(0) 链接很糟糕。

  • onclick=’javascript: …’ 不是必需的。这也会引发分离错误。

  • meta http-equiv: 仅使用标准属性 + X-UA-compatible

  • 在属性之间或打开或关闭标签之前不允许有额外的空白。

缺少什么?

检查文件是否有BOM。

使用工具 HTML5 tidy 验证HTML的能力,以及集成一些schema.org或microdata验证器。

然而,由于一些原因,我们没有短期计划来处理后者。

  • Tidy 可以使用工具 git-lint 轻易地集成。

  • 任何其他验证器也可以与 git-lint 集成。

  • 添加任何额外的验证器都会引入更多的依赖项并改变范围。

限制

html_linter 使用项目 template-remover 从文件中删除PHP和Jinja标记,而这个项目的工作有一些限制。

以下是一个不会工作的例子

<?php echo "?>" ?>

它不工作是因为当方法看到第一个‘?>’(字符串内的一个)时,它认为这是一个关闭标签。

示例用法

以下是如何使用 template_remover.py 的示例

$ html_lint.py filename.html

安装

您可以使用以下命令安装、升级或卸载 html-linter

$ pip install html-linter
$ pip install --upgrade html-linter
$ pip uninstall html-linter

Python 版本

支持 Python 2.7、3.3、3.4、3.5 和 3.6。

开发

欢迎对此项目提供帮助,因此请随时通过 http://github.com/deezer/html-linter 创建问题或发送拉取请求。

测试是使用 nose 运行的,可以使用

$ python -R setup.py nosetests
$ nosetests

在任何提交之前使用工具 git-lint,以便尽早捕获错误和样式问题。

待办事项和可能的功能

  • 使输出更简洁。

  • 与 HTML5 tidy 集成。

  • 与 schema.org/microdata 验证器集成。

贡献者

变更日志

v0.4 (2017-03-30)

  • 支持 --printfilename 选项 (#8)

  • 支持 Python 3.6 (#12)

v0.3 (2016-01-24)

  • 支持多个文件(由 @di

v0.2 (2015-12-13)

  • 支持 Python 3.5

v0.1 (2014-05-07)

  • 初始提交。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

html-linter-0.4.0.tar.gz (19.4 kB 查看哈希值)

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面