コマンドラインHTMLプリティプリンター:乱雑なHTMLを読みやすくする[終了]


105

次の要件を満たすHTMLプリティプリンターの推奨事項を探しています。

  • 入力としてHTMLを取り、指定された入力HTMLの適切にフォーマットされた/正しくインデントされた「グラフィック上同等の」バージョンを出力します。
  • コマンドライン操作をサポートする必要があります。
  • オープンソースで、Linuxで実行する必要があります。

5
その他のオプションはpup(引数なし)、、xmllint --format --html -およびxml fo --htmlです。
nisetama 2016

1
curl httpbin.org | tidy -im
Fabijan Bajo

また:hxnormalize from html-xml-utils(Debian)
elig

関連:stackoverflow.com/questions/16090869/…XML ツールを調べることもできます
Alex

1
なぜこれが話題外であると正直に考えられているのかを理解するのに問題があります...
VictorSchröder

回答:


90

HTML Tidy Projectをご覧くださいhttp : //www.html-tidy.org/

最新の標準をサポートするHTMLツールの祖父。

以前はtidy-html5という名前のフォークがあり、それが正式なものになりました。これがGitHubリポジトリです

Tidyは、Mac OS X、Linux、Windows、UNIXなどのコンソールアプリケーションです。マークアップエラーを修正し、レガシーコードを最新の標準にアップグレードすることにより、HTMLおよびXMLドキュメントを修正およびクリーンアップします。

必要に応じて、Tidyを呼び出すコマンドラインを次に示します。

tidy inputfile.html

14
ありがとう!「tidy -i -m -w 160 -ashtml -utf8 index.html」でトリックを実行しました。MacOS Xには、tidyがデフォルトでインストールされていることがわかりました。
knorv 2010

1
Tidyは、このオプションで実行するまで、インデントを取得するのに苦労していました(-iでデフォルトを「自動」にするのではなく、tidy --indent yes
Edward Anderson

2
Tidyはバリデーター/ lintツールとしては優れていますが、コード美容ツールほど優れていません。2つの問題:(1)ファイルのみを操作でき、標準入力は操作できません(たとえば、選択したテキストをNotepad ++からtidy.exeに送信したり、フォーマットされたコードをNotepad ++に出力したりすることはできません); (2)多くのコードのフォーマットに問題があります<form><input><input><input><input><input></form>。例:
thdoan

1
また、テキストを理解できない場合はファイルを変更します。
パヴェルSzczur

tidy-html5に関する1つの注意事項、インラインJavaScriptを使用している場合は、インクルードする必要があります。type="text/javascript"そうしないと、tidyによって追加されます<![CDATA[
jcubic

10

更新2018:homebrew/dupes廃止され、整頓、HTML5を直接インストールすることができます。

brew install tidy-html5

元の返信:

TidyOS 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 2017年

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を使用する場合は、quietモードで実行し、tidy -qなどの警告を無視しないでくださいtrimming empty <p>。記述していないHTMLでは使用しないでください。
ボリス

6

この質問に対するOSに依存しない更新された回答を得るには:

一方で、元 HTMLTidyのプロジェクトがされている6年以上の休眠「W3Cコミュニティ&ビジネスグループ」の名前で行く「HTML Tidyのアドボカシーコミュニティグループは、(HTACG)」今、その開発を継続するために始めているそれを作ることを目標に完全にHTML5互換。このグループは2015年1月に結成され、現在の状態は「進行中」と説明されていますが、バイナリはすでにダウンロードできます。



0

OTの質問のフォローアップが遅れました。

Homebrewはtidy-html5予想通りにインストールされています。

としてリンクされていtidy5ます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.