有没有用于HTML和CSS的命令行验证工具?

55

有没有命令行工具可以验证CSS和/或HTML?

W3C为本地安装提供了其验证器,并提供了使用命令行的说明,但对于不是经验丰富的Java开发人员来说,安装过程是一场噩梦。

我已经用谷歌搜索过,但找不到任何信息。

理想情况下,我希望使用一个或多个工具,可以指向我的CSS文件,并报告任何错误。我希望它是本地的,以增加我的调试速度。

最好,这些工具能够理解HTML5和CSS3。


检查 HTML 部分的整洁性:https://dev59.com/wnI-5IYBdhLWcg3weoJP - grunk
现在有一个新的Linux命令行工具,用于检查HTML和CSS:https://htmlval.com/?r=L - Albert Wiersch
6个回答

32

有一个用于HTML的tidy工具。它不仅可以检查HTML是否有效,还会尝试修复错误。但如果你愿意,你也可以只看错误和警告而忽略修复。

我不确定它在HTML5中的效果如何,但可以看一下Wanted: Command line HTML5 beautifier,里面有一些参数建议。

对于CSS,有一个CSSTidy工具(虽然我从未使用过)。

关于W3C验证器:如果你使用的是Debian/Ubuntu,w3c-markup-validator包已经在仓库中,并且非常容易通过包管理进行安装。其他发行版的软件包也可用。

W3C CSS验证器可以作为一个jar文件下载,非常容易使用:

java -jar css-validator.jar http://www.w3.org/. 

1
在Ubuntu中,w3c-markup-validator似乎存在一个损坏的依赖关系:w3c-markup-validator: 依赖于w3c-sgml-lib但无法安装 - Kostas
在Ubuntu 11.10下,我能够很好地安装这个软件包 - 他们可能已经解决了vrinek提到的依赖问题。 - Brandon Rhodes
"css-validator.jar"无法工作,它总是抱怨“找不到主类:org.w3c.css.css.CssValidator”。它肯定出了问题。 - Hibou57
1
@Hibou57 不,它能工作,只是正确安装有点麻烦 - kojiro
1
可能需要一些更新 http://www.html-tidy.org/ 和 https://github.com/htacg/tidy-html5 - lab419

3
在Ubuntu上,你可以安装包w3c-markup-validator。它提供了一个CGI web界面。但你不一定要使用它。
你可以使用我的w3c-validator-runner运行验证器而无需拥有web服务器。
如果那样不起作用,请考虑启动一个web服务器。然后你可以使用srackham/w3c-validator

3

3

2
这似乎是它的 Github 存储库: https://github.com/mozilla/html5-lint - 你可以使用 htmlcheck.py 脚本独立运行,但它不支持离线。 - blueyed
1
对于命令行使用,您可以下载一个版本并使用jar文件。当前(2017-03)Github存储库为https://github.com/validator/validator。 - dat

1

虽然它并非你问题的直接解决方案,但你可以考虑使用CSS扩展框架来验证部分。在我所有的Web项目中,我广泛使用SASS,一旦你习惯了它,就会发现它是不可或缺的。除了所有花哨的mixin和变量特性等等,它还将执行CSS/SASS标记的验证,并报告错误,因为它完全与常规的CSS3向后兼容。好处是它作为Ruby Gem工作,这意味着它在本地运行,并且可以通过Ruby或命令行(Unix环境下的终端)与其他工作流集成。

试一试吧:http://sass-lang.com/docs/yardoc/

运行sass style.scss,看看会发生什么。


嗨,Lander。Sass确实很棒。我一段时间前放弃使用sass,因为在ubuntu上使用emacs时遇到了问题。基本上,ubuntu上的emacs带有一些过时的软件包,包括一个古老的css-mode,与sass-mode不兼容。随着我的sass变得越来越复杂,我不断地丢失工作。不过我想我会再次尝试将sass集成到我的工作流程中。 - Robert
SASS 很好,并且是其类别中的第一款。但现在有更好的工具!☺ http://learnboost.github.com/stylus/ - Zearin

1

工作需要联网。使用方式为 html-validator --file=path/to/file - serv-inc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接