75

募集

Linux で実行されるコマンド ライン HTML5 美化ツール。

入力

文字化けした醜い HTML5 コード。おそらく複数のテンプレートの結果です。あなたはそれを愛していません、それはあなたを愛していません。

出力

純粋な美しさ。コードは適切にインデントされており、十分な改行があり、空白が考慮されています。コードを Web ブラウザーで表示するのではなく、Web サイトに直接表示したいと考えています。

容疑者

  • tidyは機能が多すぎて (私の doctype を変更してしまうのです!)、HTML5 ではうまく機能しません。たぶん、それを協力させて何も変更しないようにする方法がありますか?
  • vimはほとんど何もしません。インデントするだけです。プログラムに改行を追加および削除し、タグ内の空白をいじってもらいたいです。

デッドオアアライブ!

4

4 に答える 4

27

HTML Tidy は w3c によってフォークされ、HTML5 検証をサポートするようになりました。

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

于 2011-11-30T01:25:23.163 に答える
19

tidy は、適切なコマンドライン パラメーターを使用して動作するように作成できると思います。

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

任意の Doctype を指定して、新しいブロック、インライン、および空のタグを追加し、tidy のクリーニング オプションの多くをオンまたはオフにすることができます。

何を「美化」したいかによっては、おそらくまともな結果を得ることができます。html コンテンツを書き直して偽の要素を削除したり、それらを認識しない場合はそれらを組み合わせたりするなど、より高度な処理を実行できない可能性があります。

于 2010-05-05T18:01:28.597 に答える
9

このスニペットのおかげで、すべてのページで適切な HTML5 として検証される HTML5 を使用して実行したライブ Web サイトからコピーしました (この場合は 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);
于 2011-06-26T14:26:23.220 に答える
2

nanoc-filterとしてHamlを使用すると、htmlが自動的にきれいに印刷されます。オプションとしてhtml5出力を設定できます。

于 2010-04-26T13:24:07.250 に答える