2009-11-23 17 views

risposta

24

Esempio

Ecco un record di esempio da un sistema di gestione frammento di YAML-based che ho creato anni fa:

- caption: fieldset msie5 
    tinycap: fieldset 
    domain:  html 
    desc:  fieldset and legend tag 
    body: | 
     <fieldset> 
     <legend>legend</legend> 

     </fieldset> 

È possibile ripetere che o qualcosa del genere per tutti i frammenti che vuoi gestire. Questo particolare sistema memorizza i frammenti come una matrice di coppie nome-valore (le persone Perl chiamerebbero questo AoH). Se non hai bisogno di tutte queste informazioni extra, basteranno solo due coppie nome-valore (ad es. Didascalia + corpo).

La cosa bella di questo sistema: il rientro YAML impedisce problemi di "collisione del delimitatore". Non devi mai usare clumsyescapesequences all'interno del tuo corpo snippet.

editor di testo o IDE alternativo

Nota: Sempre più spesso, editor di testo e IDE supportano opzioni di gestione frammento flessibili in modo nativo, quindi si consiglia di prendere in considerazione utilizzando il formato di un editor di testo piuttosto che re-inventare il proprio . Se si re-inventa il proprio, è possibile scrivere uno script per tradurre il proprio formato YAML nel formato nativo di un editor di testo se in seguito si decide di farlo.

Consulta anche:

0

Utilizzare i modelli. Probabilmente non ci mescoleremo per inserire HTML nei file .po o nel livello dati poiché escape e double escape (JavaScript escape) piuttosto mantengono livelli distinti di presentazione (vista) e persistenza (archiviazione). HTML è la presentazione e la vista, quindi appartiene al livello di presentazione.

+13

Personalmente non sono un fan di una risposta che è solo "non dovresti farlo". Forse il PO è consapevole dei pro e dei contro e ha deciso che questo è quello che devono fare. Non dargli lezioni - almeno non senza accoppiarlo con la * reale * soluzione alla loro domanda (cioè, "Non lo farei, ma ecco come farlo funzionare ...") – steve

+2

Nel mio caso io è necessario memorizzare una piccola porzione di xml nel mio file di configurazione (perché ho bisogno di inviarlo a un servizio di volta in volta). Non è un markup, fa parte delle operazioni del mio programma. Memorizzarlo in config è ragionevole. La tua risposta aggiungerebbe un nuovo livello di complessità e non ne ricaverei nulla. – jcollum