【发布时间】:2010-04-17 07:41:50
【问题描述】:
通缉
在 Linux 下运行的命令行 HTML5 美化器。
输入
乱码、丑陋的 HTML5 代码。可能是多个模板的结果。你不爱它,它不爱你。
输出
纯美。代码很好地缩进,有足够的换行符,关心它的空格。与其在网络浏览器中查看,不如直接在您的网站上显示代码。
嫌疑人
- tidy 做的太多了(哎呀,它改变了我的文档类型!),它不适用于 HTML5。也许有办法让它合作而不改变任何东西?
- vim 做的太少了。它只是缩进。我希望程序添加和删除换行符,并使用标签内的空格。
死或活!
【问题讨论】:
-
这不是超级用户的问题吗?
-
我会说你有合适的网站。不确定 SU 上有多少人实际使用 HTML,更不用说 HTML5。
-
我遇到了同样的问题,最终编写了一个新的 Ruby 库,它不需要编译任何第三方实用程序(我在让 Tidy 使用 Rails 时遇到了问题)并且只关注 HTML5,不是 XML、XHTML 或 HTML 4。它还不完美,但在我使用过的所有项目中都运行良好。请看jarijokinen.com/html5-beautifier
-
使用 XHTML5 你可以做到
xmllint --format -
您还可以对 HTML5 多语言文档进行monkeypatch:
echo '<!doctype html>'; (echo "<?xml version='1.0' ?>"; tail -n +2 < index.html) | xmllint --format - | sed -re 's/(<script[^>]*)\/>/\1><\/script>/g' | tail -n+2。这应该适用于第 1 行具有 doctype 但没有 xml-prolog 的输入文档。以相同的样式输出。
标签: html command-line indentation pretty-print