Usare il WML

WML è l'acronimo di web site meta language. WML riceve come input dei file .wml ed elabora quello che trova in essi (qualsiasi cosa: dal semplice HTML al codice Perl!) fornendo come output quello che si desidera, per esempio .html o .php.

La documentazione su WML non è di facile comprensione. È abbastanza completa, ma finché non si capisce il suo funzionamento (e la sua potenza) è più facile imparare con degli esempi; potrebbero essere utili a questo scopo i file template (modelli) usati per il sito Debian che possono essere trovati in webwml/english/template/debian/.

Questo documento presuppone che si abbia WML installato sulla propria macchina. WML è disponibile come pacchetto Debian.

Editare i sorgenti WML

Una cosa che tutti i file .wml hanno è una o più righe #use all'inizio. Non si deve cambiare o tradurre il loro contenuto con l'eccezione delle stringhe virgolettate come quelle dopo title= che determinano l'elemento <title> nei file in output.

Oltre alle righe degli header la maggior parte delle nostre pagine .wml contiene del semplice HTML. Se si incontrano dei tag come <define-tag> o <: ... :>, si faccia attenzione poiché essi delimitano del codice che deve essere elaborato da WML. Si veda sotto per maggiori informazioni.

Costruzione delle pagine web Debian

È sufficiente il comando make nella directory webwml/<lang>. Abbiamo impostato dei makefile che eseguono wml con gli argomenti appropriati.

Usando invece il comando make install allora i file HTML verranno compilati e posti nella directory ../../www/.

Caratteristiche extra di WML che usiamo

Una delle caratteristiche di WML che usiamo molto è la capacità di usare Perl. Si ricordi che queste non sono pagine dinamiche. Perl è usato al momento della creazione della pagina HTML per ottenere ciò che si desidera. Due buoni esempi di come stiamo usando Perl nelle pagine sono la creazione dell'elenco delle news più recenti per la pagina principale e la creazione dei link alle pagine tradotte in fondo alla pagina.

Per la compilazione dei template del nostro sito web è necessaria una versione >= 2.0.6 di wml. Per la compilazione dei template gettext per le traduzioni dall'inglese è necessaria una versione >= 1.3.0 di mp4h.

Problemi con WML

Le lingue multi-byte potrebbero richiedere degli speciali pre- o post-processing dei file .wml per gestire correttamente l'insieme di caratteri. Questo può essere fatto tramite le variabili WMLPROLOG e WMLEPILOG in webwml/<lang>/Make.lang. A seconda di come il proprio programma WMLEPILOG funziona si potrebbe avere la necessità di cambiare il valore di WMLOUTFILE.
Come esempi si vedano le traduzioni cinese e giapponese.