Une jolie imprimante HTML en ligne de commande: rendre le HTML lisible [fermé]

106

Je recherche des recommandations pour de jolies imprimantes HTML qui remplissent les conditions suivantes:

  • Prend HTML comme entrée, puis sort une version joliment formatée / correctement indentée mais "graphiquement équivalente" du HTML d'entrée donné.
  • Doit prendre en charge le fonctionnement en ligne de commande.
  • Doit être open-source et fonctionner sous Linux.
knorv
la source
5
Les autres options sont pup(sans arguments) xmllint --format --html -, et xml fo --html.
nisetama
1
curl httpbin.org | tidy -im
Fabijan Bajo
Aussi: hxnormalize de html-xml-utils (Debian)
élig le
en relation: stackoverflow.com/questions/16090869/ ... vous pouvez également consulter les outils XML
Alex
1
J'ai du mal à comprendre pourquoi cela est considéré comme hors sujet, honnêtement ...
Victor Schröder

Réponses:

90

Jetez un œil au projet HTML Tidy: http://www.html-tidy.org/

Le grand-père des outils HTML, avec le support des normes modernes.

Il y avait un fork appelé tidy-html5 qui est depuis devenu la chose officielle. Voici son référentiel GitHub .

Tidy est une application console pour Mac OS X, Linux, Windows, UNIX, etc. Il corrige et nettoie les documents HTML et XML en corrigeant les erreurs de balisage et en mettant à niveau le code hérité aux normes modernes.

Pour vos besoins, voici la ligne de commande pour appeler Tidy:

tidy inputfile.html
Jonjbar
la source
14
Merci! "tidy -i -m -w 160 -ashtml -utf8 index.html" a fait l'affaire! Il s'avère que tidy est installé par défaut dans MacOS X - excellent!
knorv
1
Tidy avait du mal à obtenir l'indentation jusqu'à ce que je l'exécute avec cette option (plutôt que de le laisser par défaut sur "auto" avec -i: tidy --indent yes
Edward Anderson
2
Tidy est excellent en tant qu'outil de validation / de charpie, mais ce n'est pas aussi génial qu'un embellisseur de code. Deux problèmes: (1) il ne peut fonctionner que sur des fichiers, pas une entrée standard (vous ne pouvez donc pas, par exemple, envoyer le texte sélectionné de Notepad ++ à tidy.exe, et lui faire renvoyer le code formaté vers Notepad ++); (2) Il a des problèmes pour formater beaucoup de code, par exemple: <form><input><input><input><input><input></form>.
thdoan le
1
En outre, il modifie le fichier lorsqu'il ne peut pas comprendre le texte.
Paweł Szczur
Une note sur tidy-html5, si vous utilisez du javascript en ligne, vous devez inclure type="text/javascript"sinon tidy ajoutera<![CDATA[
jcubic
10

Mise à jour 2018: le homebrew/dupesest désormais obsolète, tidy-html5 peut être directement installé.

brew install tidy-html5

Réponse originale:

Tidyà partir d'OS X ne prend pas en charge HTML5. Mais il y a une branche expérimentale sur Githublaquelle le fait.

Pour l'obtenir:

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

C'est tout! S'amuser!

Paul Brit
la source
1
Error: No available formula with the name "tidy". brew install tidy-html5travaux.
Pysis le
En effet brew install tidy-html5fonctionne et vous n'avez pas non plus besoin du robinet homebrew / dupes.
Ogier Schelvis
Tidy fait plus que simplement formater le HTML. Il supprimera les balises vides et réorganisera le HTML techniquement invalide qui est accepté par les navigateurs (lire: est utilisé sur Internet). <p class="a"><div class="b"></div></p>est réorganisé au fur <p class="a"></p><div class="b"></div>et à mesure que quelque chose comme est <p><div></div></p>simplement supprimé. Consultez ce problème GitHub . Si vous utilisez tidy, vous devez l'exécuter en mode silencieux tidy -qet ne pas ignorer les avertissements tels que trimming empty <p>. Ne l'utilisez pas sur du HTML que vous n'avez pas écrit.
Boris
6

Pour avoir une réponse mise à jour et indépendante du système d'exploitation à cette question:

Alors que le projet HTMLTidy original est en sommeil depuis plus de 6 ans , un "W3C Community & Business group" qui porte le nom de "HTML Tidy Advocacy Community Group (HTACG)" a maintenant commencé à poursuivre son développement, dans le but de le faire entièrement compatible HTML5 . Le groupe a été formé en janvier 2015 et bien qu'ils décrivent l'état actuel comme «travail en cours», les binaires sont déjà disponibles en téléchargement.

zb226
la source
1

Je pense que HTML tidy est l'un des noms familiers dans ce domaine.

Pekka
la source
0

Juste un suivi tardif sur une question OT.

Homebrew a un tidy-html5installé comme vous vous en doutez.

C'est lié comme tidy5.

Dave Newton
la source