命令行HTML漂亮打印机:使凌乱的HTML可读(关闭)


105

我正在寻找满足以下要求的HTML漂亮打印机的建议:

  • 以HTML作为输入,然后输出给定输入HTML的格式正确/缩进但图形等效的版本。
  • 必须支持命令行操作。
  • 必须是开源的并在Linux下运行。

5
其他选项是pup(不带参数)xmllint --format --html -,和xml fo --html
nisetama

1
curl httpbin.org | 整洁-im
Fabijan Bajo

另外:来自html-xml-utils(Debian)的
hxnormalize

相关:stackoverflow.com/questions/16090869/… 您也可以研究XML工具
Alex

1
我确实有问题要弄清为什么这被认为是题外话……
VictorSchröder

Answers:


90

看看HTML Tidy项目:http : //www.html-tidy.org/

HTML工具的祖父,支持现代标准。

曾经有一个名为tidy-html5的叉子,自此成为正式的东西。这是它的GitHub存储库

Tidy是适用于Mac OS X,Linux,Windows,UNIX等的控制台应用程序。它通过修复标记错误并将旧代码升级为现代标准来纠正和清除HTML和XML文档。

为了您的需要,下面是调用Tidy的命令行:

tidy inputfile.html

14
谢谢!“整洁的-i -m -w -w 160 -ashtml -utf8 index.html”做到了!事实证明,在MacOS X中默认安装了整洁的功能-太好了!
knorv'2

1
Tidy一直在努力获取缩进,直到我使用此选项运行它为止(而不是使用-i将其默认设置为“自动”:tidy --indent yes
Edward Anderson

2
Tidy可用作验证器/皮棉工具,但不如代码美化器那么好。两个问题:(1)它只能在文件上运行,不能在标准输入上运行(例如,您不能将选定的文本从Notepad ++发送到tidy.exe,然后将格式化后的代码输出回Notepad ++);(2)格式化很多代码有麻烦,例如:<form><input><input><input><input><input></form>
thdoan '16

1
当无法理解文本时,它也会修改文件。
帕维尔Szczur

关于tidy-html5的一个注意事项,如果您使用的是内联javascript,则需要包含type="text/javascript"其他内容,否则tidy将添加<![CDATA[
jcubic

10

更新2018:homebrew/dupes现在已经废弃,整洁,HTML5可以直接安装。

brew install tidy-html5

原始回复:

Tidy从OS X不支持HTML5。但是有一个实验分支在Github做。

为拿到它,为实现它:

 brew tap homebrew/dupes
 brew install tidy --HEAD
 brew untap homebrew/dupes

而已!玩得开心!


1
Error: No available formula with the name "tidy"brew install tidy-html5作品。
Pysis

确实brew install tidy-html5有效,而且您也不必造家酿/双胶水龙头。
Ogier Schelvis,

Tidy不仅可以格式化HTML。它将删除空标签,并对浏览器接受的技术上无效的HTML重新排序(阅读:在互联网上使用)。<p class="a"><div class="b"></div></p>被重新排序为<p class="a"></p><div class="b"></div>,就像<p><div></div></p>刚刚被删除。请参阅GitHub问题。如果您使用整洁,则应在安静模式下运行它,tidy -q并且不要忽略任何警告trimming empty <p>。不要在没有编写的HTML上使用它。
鲍里斯(Boris)

6

要获得此问题的更新的,与操作系统无关的答案:

虽然最初的 HTMLTidy项目已经休眠了6年以上,但是一个名为“ HTML Tidy倡导社区组(HTACG)”“ W3C社区和业务组”现在已经开始继续发展,其目标是完全兼容HTML5。该小组成立于2015年1月,尽管他们将当前状态描述为“进行中”,但二进制文件已可供下载。



0

只是关于旧约问题的后期跟进。

tidy-html5如您所料,Homebrew已安装。

链接为tidy5

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.