Una graziosa stampante HTML a riga di comando: rendere leggibile l'HTML disordinato [chiuso]


106

Sto cercando consigli per graziose stampanti HTML che soddisfino i seguenti requisiti:

  • Accetta HTML come input, quindi genera una versione ben formattata / correttamente rientrata ma "graficamente equivalente" dell'HTML di input specificato.
  • Deve supportare il funzionamento della riga di comando.
  • Deve essere open source ed essere eseguito sotto Linux.

5
Altre opzioni sono pup(senza argomenti) xmllint --format --html -, e xml fo --html.
nisetama

1
curl httpbin.org | tidy -im
Fabijan Bajo

Inoltre: hxnormalize da html-xml-utils (Debian)
idoneo

correlati: stackoverflow.com/questions/16090869/… puoi anche esaminare gli strumenti XML
Alex

1
Ho problemi a capire perché questo sia considerato fuori tema, onestamente ...
Victor Schröder

Risposte:


90

Dai un'occhiata al progetto HTML Tidy: http://www.html-tidy.org/

Il nonno degli strumenti HTML, con supporto per gli standard moderni.

C'era un fork chiamato tidy-html5 che da allora è diventato la cosa ufficiale. Ecco il suo repository GitHub .

Tidy è un'applicazione console per Mac OS X, Linux, Windows, UNIX e altro. Corregge e pulisce i documenti HTML e XML correggendo gli errori di markup e aggiornando il codice legacy agli standard moderni.

Per le tue esigenze, ecco la riga di comando per chiamare Tidy:

tidy inputfile.html

14
Grazie! "tidy -i -m -w 160 -ashtml -utf8 index.html" ha funzionato! Risulta che ordinato è installato di default in MacOS X - eccellente!
Knorv

1
Tidy stava lottando per ottenere il rientro finché non l'ho eseguito con questa opzione (invece di lasciarlo predefinito su "auto" con -i: tidy --indent yes
Edward Anderson

2
Tidy è ottimo come strumento di convalida / lanugine, ma non è così eccezionale come abbellimento del codice. Due problemi: (1) può funzionare solo sui file, non sull'input standard (quindi non è possibile, ad esempio, inviare il testo selezionato da Notepad ++ a tidy.exe e restituire il codice formattato a Notepad ++); (2) Ha problemi di formattazione per un sacco di codice, ad esempio: <form><input><input><input><input><input></form>.
thdoan

1
Inoltre modifica il file quando non è in grado di comprendere il testo.
Paweł Szczur

Una nota su tidy-html5, se stai usando javascript inline, devi includere type="text/javascript"altrimenti tidy aggiungerà<![CDATA[
jcubic

10

Aggiornamento 2018: L' homebrew/dupesora è deprecato, ordinata-HTML5 può essere installato direttamente.

brew install tidy-html5

Risposta originale:

Tidy da OS X non supporta HTML5 . Ma c'è un ramo sperimentale su Githubcui lo fa.

Capirlo:

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

Questo è tutto! Divertiti!


1
Error: No available formula with the name "tidy". brew install tidy-html5lavori.
Pysis

Indeed brew install tidy-html5funziona e non hai nemmeno bisogno dell'homebrew / dupes tap.
Ogier Schelvis

Tidy non si limita a formattare l'HTML. Sarà rimuovere i tag vuoti e di riordino HTML tecnicamente valida che è accetta dai browser (leggi: è utilizzato in Internet). <p class="a"><div class="b"></div></p>viene riordinato come <p class="a"></p><div class="b"></div>e qualcosa di simile <p><div></div></p>viene semplicemente eliminato. Vedi questo problema di GitHub . Se usi tidy, dovresti eseguirlo in modalità silenziosa tidy -qe non ignorare alcun avviso come trimming empty <p>. Non usarlo su HTML che non hai scritto.
Boris

6

Per avere una risposta aggiornata e indipendente dal sistema operativo a questa domanda:

Mentre il progetto HTMLTidy originale è rimasto inattivo per oltre 6 anni , un "W3C Community & Business group" che si chiama "HTML Tidy Advocacy Community Group (HTACG)" ha ora iniziato a continuare il suo sviluppo, con l'obiettivo di renderlo completamente compatibile con HTML5 . Il gruppo è stato formato nel gennaio 2015 e sebbene descrivano lo stato attuale come "lavori in corso", i binari sono già disponibili per il download.



0

Solo un follow-up tardivo su una domanda OT.

Homebrew ha tidy-html5installato come ti aspetteresti.

È collegato come tidy5.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.