Ein Befehlszeilen-HTML-Pretty-Drucker: Unordentliches HTML lesbar machen [geschlossen]

104

Ich suche nach Empfehlungen für hübsche HTML-Drucker, die die folgenden Anforderungen erfüllen:

  • Nimmt HTML als Eingabe und gibt dann eine gut formatierte / korrekt eingerückte, aber "grafisch äquivalente" Version des angegebenen Eingabe-HTML aus.
  • Muss den Befehlszeilenbetrieb unterstützen.
  • Muss Open Source sein und unter Linux laufen.
knorv
quelle
5
Andere Optionen sind pup(ohne Argumente) ,, xmllint --format --html -und xml fo --html.
Nisetama
1
locken httpbin.org | ordentlich -im
Fabijan Bajo
Auch: hxnormalize von html-xml-utils (Debian)
Elig
verwandt: stackoverflow.com/questions/16090869/… Sie können auch in XML Tools
Alex
1
Ich habe Probleme zu verstehen, warum dies ehrlich gesagt als nicht zum Thema gehörend angesehen wird ...
Victor Schröder

Antworten:

89

Schauen Sie sich das HTML Tidy-Projekt an: http://www.html-tidy.org/

Der Urvater der HTML-Tools mit Unterstützung für moderne Standards.

Früher gab es eine Gabel namens tidy-html5, die inzwischen offiziell wurde. Hier ist das GitHub-Repository .

Tidy ist eine Konsolenanwendung für Mac OS X, Linux, Windows, UNIX und mehr. Es korrigiert und bereinigt HTML- und XML-Dokumente, indem Markup-Fehler behoben und Legacy-Code auf moderne Standards aktualisiert werden.

Für Ihre Bedürfnisse ist hier die Befehlszeile, um Tidy aufzurufen:

tidy inputfile.html
jonjbar
quelle
14
Vielen Dank! "tidy -i -m -w 160 -ashtml -utf8 index.html" hat es geschafft! Es stellt sich heraus, dass ordentlich standardmäßig in MacOS X installiert ist - ausgezeichnet!
Knorv
1
Tidy hatte Probleme damit, die Einrückung zu erhalten, bis ich sie mit dieser Option ausführte (anstatt sie standardmäßig auf "auto" mit -i: tidy
Edward Anderson am
2
Tidy eignet sich hervorragend als Validierungs- / Flusenwerkzeug, aber nicht so gut als Code-Verschönerer. Zwei Probleme: (1) Es kann nur mit Dateien gearbeitet werden, nicht mit Standardeingaben (so können Sie beispielsweise ausgewählten Text nicht aus Notepad ++ an tidy.exe senden und den formatierten Code zurück an Notepad ++ ausgeben lassen). (2) Es ist nicht möglich, viel Code zu formatieren, z <form><input><input><input><input><input></form>.
Dooan
1
Außerdem wird die Datei geändert, wenn Text nicht verstanden werden kann.
Paweł Szczur
Ein Hinweis zu tidy-html5, wenn Sie Inline-Javascript verwenden, müssen Sie einschließen, type="text/javascript"sonst wird <![CDATA[
tidy
10

Update 2018: Das homebrew/dupesist jetzt veraltet, tidy-html5 kann direkt installiert werden.

brew install tidy-html5

Ursprüngliche Antwort:

Tidyvon OS X wird nicht unterstützt HTML5. Aber es gibt einen experimentellen Zweig, auf Githubdem dies der Fall ist.

Es bekommen:

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

Das ist es! Habe Spaß!

Paul Brit
quelle
1
Error: No available formula with the name "tidy". brew install tidy-html5funktioniert.
Pysis
In der Tat brew install tidy-html5funktioniert und Sie brauchen auch nicht das Homebrew / Dupes Tap.
Ogier Schelvis
Tidy formatiert nicht nur HTML. Es entfernt leere Tags und ordnet technisch ungültiges HTML neu an , das von Browsern akzeptiert wird (lesen Sie: wird im Internet verwendet). <p class="a"><div class="b"></div></p>wird neu geordnet als <p class="a"></p><div class="b"></div>und so etwas wird <p><div></div></p>einfach gelöscht. Siehe dieses GitHub-Problem . Wenn Sie ordentlich verwenden, sollten Sie es im leisen Modus ausführen tidy -qund keine Warnungen wie ignorieren trimming empty <p>. Verwenden Sie es nicht für HTML, das Sie nicht geschrieben haben.
Boris
6

So erhalten Sie eine aktualisierte, betriebssystemunabhängige Antwort auf diese Frage:

Während das ursprüngliche HTMLTidy- Projekt seit über 6 Jahren inaktiv ist , hat eine "W3C Community & Business-Gruppe" mit dem Namen "HTML Tidy Advocacy Community Group (HTACG)" nun begonnen, ihre Entwicklung fortzusetzen, mit dem Ziel, es zu schaffen vollständig HTML5-kompatibel . Die Gruppe wurde im Januar 2015 gegründet und obwohl sie den aktuellen Status als "work in progress" beschreiben, stehen Binärdateien bereits zum Download zur Verfügung.

zb226
quelle
1

Ich finde HTML ordentlich ist einer der bekanntesten Namen in diesem Bereich.

Pekka
quelle
0

Nur ein spätes Follow-up zu einer OT-Frage.

Homebrew hat eine tidy-html5 installiert, wie Sie es erwarten würden.

Es ist verbunden als tidy5.

Dave Newton
quelle