求购:命令行HTML5美化[关闭]

问题描述 投票:73回答:4

Wanted

命令行HTML5美化Linux下运行。

Input

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

Output

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

Suspects

  • 整洁确实太多(赫克,它​​改变了我的doctype!),并且它不与HTML5很好地工作。也许有一种方法,使其合作,并不会改变什么吗?
  • VIM确实太少了。它只缩进。我想程序添加和删除换行符,并与标签内的空白玩。

死或生!

html5 command-line indentation pretty-print
4个回答
26
投票

HTML整洁已经分叉由W3C,目前已对HTML5的支持验证。

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


19
投票

我怀疑整齐可以由具有正确的命令行参数来工作。

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

您可以指定任意文档类型,并添加新的块,内联和空标签,以及打开和关闭大量整齐的清洁方案。

根据您希望它“美化”你也许可以得到不错的结果。它可能不能够做一些更先进的东西像重写HTML内容,以消除伪元素或组合它们,如果它不承认他们。


9
投票

从现场的网站我也使用HTML5被验证为正确的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);

2
投票

如果您使用Haml为您nanoc过滤器,你的HTML将自动漂亮的印刷。您可以设置输出HTML5作为一个选项。

© www.soinside.com 2019 - 2024. All rights reserved.