Gesucht: Befehlszeilen-HTML5-Beautifier [closed]

Lesezeit: 5 Minuten

Benutzer-Avatar
blind

Gesucht

Ein Befehlszeilen-HTML5-Verschönerer, der unter Linux ausgeführt wird.

Eingang

Verstümmelter, hässlicher HTML5-Code. Möglicherweise das Ergebnis mehrerer Vorlagen. Du liebst es nicht, es liebt dich nicht.

Ausgabe

Pure Schönheit. Der Code ist schön eingerückt, hat genug Zeilenumbrüche, achtet auf seine Leerzeichen. Anstatt ihn in einem Webbrowser anzuzeigen, möchten Sie den Code direkt auf Ihrer Website anzeigen.

Verdächtige

  • ordentlich macht zu viel (verdammt, es verändert meinen Doctype!), und es funktioniert nicht gut mit HTML5. Vielleicht gibt es einen Weg, es kooperieren zu lassen und sich nicht zu verändern irgendetwas?
  • vim macht zu wenig. Es wird nur eingerückt. Ich möchte, dass das Programm Zeilenumbrüche hinzufügt und entfernt und mit den Leerzeichen innerhalb von Tags spielt.

TOT ODER LEBENDIG!

  • Sollte das nicht eine Superuser-Frage sein?

    – Jonno_FTW

    17. April 2010 um 8:23 Uhr

  • Ich würde sagen, Sie haben die richtige Seite dafür. Ich bin mir nicht sicher, wie viele Leute auf SU tatsächlich HTML verwenden, geschweige denn HTML5.

    – Tim Post

    30. April 2010 um 14:17 Uhr

  • Ich hatte das gleiche Problem und schrieb schließlich eine neue Ruby-Bibliothek, die keine Kompilierung von Drittanbieter-Dienstprogrammen erfordert (ich hatte Probleme, Tidy mit Rails zum Laufen zu bringen) und sich nur auf HTML5 konzentriert, nicht auf XML, XHTML oder HTML 4. Es ist noch nicht perfekt, hat aber in allen Projekten, in denen ich es verwendet habe, gut funktioniert. Bitte werfen Sie einen Blick auf jarijokinen.com/html5-beautifier

    – Jari Jokinen

    2. September 2012 um 12:38 Uhr

  • Verwenden Sie XHTML5 und Sie können tun xmllint --format

    – Janus Troelsen

    25. Juni 2013 um 12:16 Uhr

  • Sie können auch mehrsprachige HTML5-Dokumente mit Monkeypatches versehen: echo '<!doctype html>'; (echo "<?xml version='1.0' ?>"; tail -n +2 < index.html) | xmllint --format - | sed -re 's/(<script[^>]*)\/>/\1><\/script>/g' | tail -n+2. Dies sollte mit Eingabedokumenten mit doctype in Zeile 1, aber ohne XML-Prolog funktionieren. Ausgaben im gleichen Stil.

    – Janus Troelsen

    25. Juni 2013 um 13:13 Uhr

HTML Tidy wurde vom w3c gegabelt und unterstützt nun die HTML5-Validierung.

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

  • Ab Juli 2014 scheint dieses Projekt seit zwei Jahren ins Stocken geraten zu sein

    – Radmann

    3. Juli 2014 um 19:32 Uhr

  • Ab April 2015 scheint es zu leben. Obwohl Sie immer noch selbst Binärdateien aus der Quelle erstellen müssen, indem Sie das Git-Repo ziehen.

    – Partherschuss

    25. April 2015 um 23:34 Uhr

  • Ab Juni 2016 können Sie mit Homebrew auf OSX installieren.

    – HellaMad

    8. Juni 2016 um 22:52 Uhr

  • Ab Juli 2017 ist das möglich apt-get install tidy auf Debian

    – Djangonaut

    2. Juli 2017 um 10:55 Uhr

Ich vermute, dass Tidy mit den richtigen Befehlszeilenparametern zum Laufen gebracht werden kann.

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

Sie können einen beliebigen Dokumenttyp angeben und neue Block-, Inline- und leere Tags hinzufügen und viele Reinigungsoptionen von Tidy ein- und ausschalten.

Je nachdem, was Sie “verschönern” möchten, können Sie wahrscheinlich anständige Ergebnisse erzielen. Es wird wahrscheinlich nicht in der Lage sein, einige der fortgeschritteneren Dinge zu tun, wie das Umschreiben des HTML-Inhalts, um störende Elemente zu eliminieren oder sie zu kombinieren, wenn es sie nicht erkennt.

  • Grob geschätzt, wie wäre es tidy -as-xhtml --input-xml --tidy-mark no -indent --indent-spaces 4 -wrap 0 --new-blocklevel-tags article,header,footer --new-inline-tags video,audio,canvas,ruby,rt,rp --doctype "<!DOCTYPE HTML>" --break-before-br yes --sort-attributes alpha --vertical-space yes (Haftungsausschluss – Ich habe HTML5 nicht verwendet und nur ein paar neue Tags von kopiert w3schools.com/html5/html5_reference.asp in die Liste ein, indem Sie erraten, welche Block/Inline waren, also bitte entsprechend anpassen.)

    – Stobor

    6. Mai 2010 um 0:56 Uhr


  • Dies scheint die beste Option zu sein. Ein großes Lob auch an Stobor!

    – blind

    6. Mai 2010 um 20:45 Uhr

  • Das ist ein guter Anfang, aber es braucht noch so viel mehr. ZB neue Eingabeelementattribute / -werte (type=”date”).

    – dave1010

    20. Januar 2011 um 11:04 Uhr

  • Ich hatte Probleme mit 2 der Optionen hier. --doctype "<!DOCTYPE HTML>" und --sort-attributes alpha würde aus irgendeinem Grund nicht funktionieren

    – Ankur

    3. August 2011 um 2:08 Uhr

  • Ich hatte auch Mühe, ordentlich zu arbeiten. Meine resultierenden Optionen auf Ubuntu 14.10 waren: tidy –tidy-mark no -indent –indent-spaces 4 -wrap 0 –new-blocklevel-tags ‘article,header,footer’ –new-inline-tags ‘video, audio,canvas,ruby,rt,rp’ –break-before-br ja –sort-attributes alpha –vertical-space yes

    – aaaaa

    27. Januar 2015 um 11:58 Uhr

Benutzer-Avatar
Philipp

Kopiert von einer Live-Website, die ich mit HTML5 erstellt habe, das dank dieses Snippets auf allen Seiten als richtiges HTML5 validiert ist (PHP in diesem Fall, aber die Optionen und die Logik sind für jede verwendete Sprache gleich):

    $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);

  • Arbeiten mit <audio> Tags, die leer verwenden <source> Tags habe ich festgestellt, dass Sie auch diese Konfigurationsoption benötigen: 'new-empty-tags' => 'source'

    – Wes Cossick

    8. Januar 2014 um 17:33 Uhr

  • Danke, @WesC, ich habe meine Antwort entsprechend bearbeitet.

    – Philipp

    16. März 2014 um 14:58 Uhr


Wenn du benutzt Haml als nanoc-filter wird ihr html automatisch hübsch gedruckt. Sie können die HTML5-Ausgabe als Option festlegen.

1311670cookie-checkGesucht: Befehlszeilen-HTML5-Beautifier [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy