2009-09-13 14 views
5

Vorrei utilizzare la funzionalità Tidy incorporata di Textmate (Ctrl + Shift + H) per indentare il mio codice HTML "senza modificare nulla" nel codice. Scrivo già abbastanza HTML, ho solo bisogno di Tidy per indentare il mio codice con le soft-tabs.Configurazione e utilizzo di HTML Tidy

Attualmente si rompe un sacco di cose e anche la formattazione non è perfetta. Qualcuno può per favore scrivere una configurazione Tidy per me che lo faccia:

1 - Solo rientri, nient'altro.

2 - Non ho bisogno di determinati tag per essere inseriti in una nuova riga. Per esempio: Tidy fa questo:

<li> 
    <a href="#">link</a> 
</li> 

Codice Originale (o quello che mi serve):

<li><a href="#">link</a></li> 

..quindi se riesco a predefinire quali tag di essere tenuto in linea, che sarebbe grande.

In sostanza, mi piacerebbe duplicare la funzionalità di formattazione HTML di Dreamweaver con Tidy, ma le due cose sopra menzionate sono davvero importanti.

credo che questo sia il mio attuale configurazione Tidy (default?):

${TM_TIDY:-tidy}" -f /tmp/tm_tidy_errors -iq -utf8 \ 
     -wrap 0 --tab-size $TM_TAB_SIZE --indent-spaces $TM_TAB_SIZE \ 
    --indent yes \ 
     ${TM_XHTML:+-asxhtml --output-xhtml yes} \ 
     ${TM_SELECTED_TEXT:+--show-body-only yes} \ 
     --enclose-text yes \ 
     --doctype strict \ 
    --wrap-php no \ 
     --tidy-mark no` 

Apprezzerei molto di aiuto. Grazie!

risposta

1

Nel file di configurazione di Tiddy, impostare l'opzione di rientro su no.

http://www.w3.org/People/Raggett/tidy/

+0

Devo impostare il rientro su NO anche se NON desidero indentazione? – 3zzy

+0

@Nimbuz, sì, è corretto. "--indent yes" causerà la riscrittura che stai cercando di evitare. Prova tu stesso. –

6

Tidy non è veramente destinata a fare questo il modo in cui si desidera utilizzarlo. Non è una libreria di formattazione di codici generici, è uno strumento di pulizia HTML. Da the homepage:

Diverse persone hanno chiesto se Tidy potrebbe mantenere il layout originale. I mi dispiace dire che questo sarebbe molto difficile da supportare a causa del modo in cui Tidy è implementato. Tidy inizia con creando un albero di analisi pulito dal file di origine . L'albero di analisi non contiene informazioni sul layout originale .

Io davvero non credo che ci sia un buon modo per arrivare a fare ciò che si vuole, ma si può giocare con il whole list of options e vedere quali sono più vicino al tuo ideale.

+0

Grazie per le informazioni, ma ho provato a utilizzare i tag in linea, non funzionano mai come previsto. – 3zzy

-3

Capito il tag in linea, funziona ora!

+1

Questo non aiuta le persone che hanno anche il tuo stesso problema. Ricordati di elaborare le soluzioni che trovi. –

-1

così, Nimbuz, hai anche menzionato "Attualmente rompe un sacco di cose" - vuoi dire che introduce delle interruzioni di riga o genera HTML che non viene visualizzato correttamente? Perché quest'ultimo mi sta succedendo molto male, e se hai ottenuto che funzioni con una configurazione speciale, mi piacerebbe vederlo (cercando di fare la stessa cosa che vuoi ... solo la formattazione). Grazie!

0

Sostituire --indent yes in --indent auto funziona per me. Non è configurabile ma sembra gestire bene la maggior parte dei casi.

2

Prova Pretty Diff.Abbellirà il tuo codice senza fare alcuna ipotesi sul tuo codice. Puoi inviare piccoli frammenti incompleti di codice e Pretty Diff produrrà questo piccolo frammento con indentazione.

http://prettydiff.com/?m=beautify&html

1

Spero che questo sia utile alla gente inciampare in questa pagina:

Se si seleziona il testo che si desidera formattare (aka reindent), TextMate si applicherà azioni specifiche solo per quella selezione. Quindi, se si CMD + Un il documento e quindi applicare Tidy (sia dal> menu di HTML fasci o con l'CTRL + SHIFT + H scorciatoia) sarà un rientro per la selezione, saltando avvisi su convalida che si verifica quando esegui Tidy senza selezione. Questi avvisi a volte possono non essere necessari poiché spesso lavoriamo su frammenti di pagina (almeno io lo faccio).

Problemi correlati