通缉:命令行HTML5美化

通缉

在Linux下运行的命令行HTML5美化工具。

input

乱码,丑陋的HTML5代码。 可能是多个模板的结果。 你不爱它,它不爱你。

产量

清纯的美丽。 代码是很好的缩进,有足够的换行符,关心它的空白。 而不是在网页浏览器中查看它,你想直接在你的网站上显示代码。

犯罪嫌疑人

  • 整洁做得太多(哎呀,它改变了我的文档types!),它不适用于HTML5。 也许有办法让它合作而不改变任何东西
  • vim确实太less了。 它只是缩进。 我希望程序添加和删除换行符,并使用标签内的空白符。

死或生!

HTML Tidy已经被w3c分支,现在已经支持HTML5validation。

https://github.com/w3c/tidy-html5

我怀疑整洁可以使用正确的命令行参数。

http://tidy.sourceforge.net/docs/quickref.html

您可以指定一个任意的文档types,并添加新的块,内联和空标签,并打开和closures大量的整洁的清洁选项。

根据你想要“美化”你可能会得到不错的结果。 它可能无法做一些更高级的事情,比如重写html内容来消除伪造的元素或者将它们结合起来,如果它们不识别的话。

从一个实际的网站复制我使用HTML5,在所有页面validation为正确的HTML5感谢这个片段(在这种情况下,PHP的选项和逻辑是相同的任何语言使用):

  $options = array( 'hide-comments' => true, 'tidy-mark' => false, 'indent' => true, 'indent-spaces' => 4, 'new-blocklevel-tags' => 'article,header,footer,section,nav', 'new-inline-tags' => 'video,audio,canvas,ruby,rt,rp', 'new-empty-tags' => 'source', 'doctype' => '<!DOCTYPE HTML>', 'sort-attributes' => 'alpha', 'vertical-space' => false, 'output-xhtml' => true, 'wrap' => 180, 'wrap-attributes' => false, 'break-before-br' => false, ); $buffer = tidy_parse_string($buffer, $options, 'utf8'); tidy_clean_repair($buffer); // Fix a tidy doctype bug $buffer = str_replace('<html lang="en" xmlns="http://www.w3.org/1999/xhtml">', '<!DOCTYPE HTML>', $buffer); 

如果你使用Haml作为你的纳米filter,你的html会自动打印出来。 您可以将html5输出设置为选项。