HTML Tidy

software che corregge errori nel markup HTML

HTML Tidy è uno strumento ideato da Dave Raggett per aiutare ad evitare di fare errori nella stesura di codice HTML.

HTML Tidy
software
GenereLibreria (non in lista)
SviluppatoreDave Raggett
Data prima versione4 agosto 2000
Ultima versione5.8.0 (16 luglio 2021)
Sistema operativoMicrosoft Windows
Linux
macOS
LinguaggioC
LicenzaW3C Software License
(licenza libera)
Sito webwww.html-tidy.org

Tidy infatti si occupa di correggere tutti gli errori più tipici in cui si incorre durante lo sviluppo di codice web. Inoltre si occupa di rendere leggibile il codice generato da editor HTML, e di segnalare all'utente dove deve prestare più attenzione. Riesce a riconoscere una vasta gamma di errori, segnalandoli come WARNINGS (avvertimenti), ai quali affianca numero di riga e colonna.
Nel caso di problemi per i quali non riesce a trovare una valida gestione, il motore di Tidy non genererà del codice, ma li metterà in evidenza come ERRORS. Inoltre è stato sviluppato per gestire codice markup generato da Microsoft Word, il quale inserisce elementi (spesso scomodi e mal gestiti dai browser) per permettere un'integrazione tra il codice HTML e il file word stesso.

Storia modifica

La prima release ufficiale, sviluppata dal membro del World Wide Web Consortium (W3C) Dave Raggett[1][2], risale al 1998[3].

Nel 2001 il software è diventato open source e viene ospitato su SourceForge[4][5][6], affidato ad un gruppo di volontari.

Nel 2012 la W3C ha effettuato un fork su GitHub[7] gestito da Michael Smith[8]. In questo periodo è stato reso compatibile con l'HTML5[9].

Il fork della W3C è divenuto la versione ufficiale di Tidy nel 2015[10][11], quando la responsabilità del progetto è passata dal W3C all'HTML Tidy Advocacy Community Group (HTACG), formato allo scopo di ridare vita a Tidy, che non riceveva major release dal 2008[12].[13][14]. Il 4 settembre dello stesso anno viene pubblicata la versione 5.0.0, che tra le altre cose introduce ufficialmente il supporto all'HTML5[12]

Come funziona Tidy modifica

Tidy corregge il markup (dove possibile) rispettando la sintassi osservata in alcuni browser quali Firefox, Internet Explorer, Opera, Netscape[15].

Correzione dei tag di chiusura mancanti o non accoppiati modifica

<h1> bla <h2> blabla </h3>
Tidy corregge con:
<h1> bla </h1> <h2> blabla </h2>
[15]

Correzione dell'ordine di chiusura dei tag modifica

<p> paragrafo ''' grassetto '' grassetto corsivo ''' grassetto? '' normale?
Tidy corregge con:
<p> paragrafo ''' grassetto '' grassetto corsivo '' grassetto? ''' normale?
[15]

Correzione problemi nei tag heading modifica

 :

<h1> <i> heading corsivo </h1> <p> paragrafo
In Internet Explorer, tutto ciò che segue l'apertura del tag di heading sarà associato allo stile del tag h1, effetto per niente desiderato!
Tidy corregge con:
<h1> '' heading corsivo '' </h1> <p> paragrafo
[15]

Correzione di tag posizionati male modifica

'' <h1> heading </h1> '' <p> paragrafo <b> grassetto <p> grassetto ancora!
Tidy corregge con:
<h1> '' heading '' </h1> <p> paragrafo ''' grassetto ''' <p> ''' grassetto ancora!'''
[15]

Corretto posizionamento del tag hr modifica

<h1><hr>heading</h1>
<h2>sotto <hr>heading</h2>
Tidy corregge con:
<hr>
<h1>heading</h1>
<h2>sotto</h2>
<hr>
<h2>heading</h2>
[15]

Aggiunta di “/” finale nelle ancore modifica

<a href="#refs">link<a>
Tidy corregge con:
<a href="#refs">link</a>
[15]

Correzione delle liste modifica

<body>
<li>1st
<li>2nd
Tidy corregge con:
<body>
<ul>
<li>1st </li>
<li>2nd </li>
</ul>
</body>
[15]

Grammatica modifica

Aggiunta di "
inserisce gli apici dove mancano. Inoltre si occupa di inserire gli apici finali dove dimenticati.
Attributi sconosciuti/proprietari segnalati
conosce tutti gli attributi di HTML e XHTML, e aiuta lo sviluppatore a trovare subito dove ha sbagliato grazie alle segnalazioni
Elementi proprietari segnalati
riconosce quale versione di HTML si sta usando, segnalandolo e aggiungendo il corretto DOCTYPE al documento
Segnalazione di '>' mancanti
Tidy corregge anche la mancanza > nei tags[15]

Layout modifica

Tidy offre la possibilità di decidere quale stile si vuole usare nella generazione di markup (ad esempio, se si vuole che gli elementi vengano indentati o meno).
Inizia costruendo un albero di parsing pulito (non contiene nessuna informazione sul layout), direttamente dal file sorgente. Questo albero viene poi visualizzato a seconda delle impostazioni nel file di configurazione. Alcuni browser possono interpretare in modo non desiderato un'indentazione personalizzata del codice.[15]

Ad esempio:

<h1 align="right">
  Blah
</h1>
<h1 align="right">Meglio</h1>

Per un bug comune dei browser, nel primo caso gli spazi bianchi non vengono ignorati, causando problemi nell'interpretazione del tag h1.

L'indentazione personalizzata crea problemi anche nelle tabelle:

<td><img src="foo.gif"></td>
<td><img src="foo.gif"></td>

Viene interpretata diversamente da:

<td>
  <img src="foo.gif">
</td>
<td>
  <img src="foo.gif">
</td>

Questi problemi si possono evitare impostando “no” o “auto” nel file di configurazione di Tidy, alla voce INDENT.[15]

Altre features modifica

Internazionalizzazione
Tidy offre una vasta scelta di caratteri tra cui scegliere, e si preoccupa di correggere eventuali errori nell'utilizzo degli stessi all'interno del documento
Accessibilità
Tidy offre soluzioni a problemi riguardanti le persone che non usano browser text-based. Ad esempio, suggerisce sempre di inserire un sommario per gli attributi delle tabelle, in modo da favorire la navigazione a chi usa i browser "aural" (vocali)
Pulizia
l'opzione –clean di Tidy consente di rimuovere gli eccessi di font, style, color e di inserirli piuttosto in un foglio di stile CSS. Inoltre, cancella paragrafi ed heading vuoti, inserendo lo stile corretto nei fogli di stile, o usando il tag
XML
Tidy aiuta correggere gli errori che causano il rifiuto dei files xml[15]

File di configurazione modifica

L'opzione –config <filename> consente a Tidy, lanciato da riga di comando, di utilizzare un file di configurazione da noi personalizzato. In alternativa, si può cambiare la variabile d'ambiente HTML_TIDY per impostare il nostro file come file di default da usare, in modo da non dover sempre specificare quale deve essere usato.[15]

Note modifica

  1. ^ (EN) Dave Raggett, Dave Raggett, su w3.org. URL consultato il 7 febbraio 2017.
  2. ^ (EN) Dave Raggett, Clean up your Web pages with HTML TIDY, su w3.org, W3C, 2012. URL consultato il 7 febbraio 2017.
  3. ^ (EN) Linda McKinnon e Al McKinnon, XML in 60 Minutes a Day, Wiley, 2003, p. 229, ISBN 0-471-42254-1. URL consultato il 7 febbraio 2017.
  4. ^ (EN) HTML Tidy Project Page, su tidy.sourceforge.net. URL consultato il 7 febbraio 2017 (archiviato dall'url originale il 26 settembre 2001).
  5. ^ (EN) HTML Tidy download, su sourceforge.net. URL consultato il 7 febbraio 2017 (archiviato il 23 agosto 2001).
  6. ^ (EN) SCM Repositories - tidy, su tidy.cvs.sourceforge.net. URL consultato il 7 febbraio 2017.
  7. ^ (EN) w3c/tidy-html5, su github.com. URL consultato il 7 febbraio 2017 (archiviato dall'url originale il 21 agosto 2013).
  8. ^ (EN) W3C » People » Michael[tm] Smith, su people.w3.org. URL consultato il 7 febbraio 2017.
  9. ^ (EN) Bjoern Hoehrmann, "HTML5" support for HTML Tidy #2, su lists.w3.org, 5 novembre 2011. URL consultato il 7 febbraio 2017.
  10. ^ (EN) htacg/tidy-html5, su github.com. URL consultato il 7 febbraio 2017 (archiviato dall'url originale il 12 maggio 2015).
  11. ^ (EN) Re: [Tidy-dev] [PATCH] removing nodes from a dom, su sourceforge.net, 12 luglio 2015. URL consultato il 7 febbraio 2017.
  12. ^ a b (EN) HTML Tidy Project Page, su tidy.sourceforge.net. URL consultato il 7 febbraio 2017.
  13. ^ (EN) HTML Tidy Advocacy Community Group, su w3.org, W3C. URL consultato il 7 febbraio 2017.
  14. ^ (EN) HTACG, su htacg.org, 2015. URL consultato il 7 febbraio 2017.
  15. ^ a b c d e f g h i j k l m (EN) Tidy Documentation, su html-tidy.org. URL consultato il 7 febbraio 2017.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero