WML vem de "web site meta language". Isto significa que o WML recebe arquivos .wml como entrada, processa o que estiver dentro deles (pode ser qualquer coisa, de código HTML básico a código Perl!), e retorna o que você quiser que ele retorne, por exemplo, .html ou .php.
Não é fácil aprender a partir da documentação do WML. Ela é bem completa,
mas até que você comece a compreender como ele funciona (e ele é bem poderoso),
é mais fácil apreender a partir de exemplos. Você pode achar os arquivos
template usados pelo site do Debian úteis. Eles podem ser encontrados em
webwml/english/template/debian/.
Esta página assume que você tem WML instalado no seu computador. Ele está disponível como um pacote Debian.
Uma coisa que todos os arquivos .wml tem é uma ou mais linha
#use no começo. Você não pode alterar ou traduzir sua
sintaxe, apenas as strings entre aspas como aquelas depois de
title=, o que alteraria o elemento <title>
nos arquivos de saída.
Além das linhas de cabeçalho, a maioria das nossas páginas .wml contém HTML simples. Se você encontrar tags como <define-tag> ou <: ... :>, seja cuidadoso, pois estas delimitam códigos que são processados em um dos passos especiais do WML. Veja abaixo para mais informações.
Simplesemente digite make em webwml/<lang>. Nós configuramos makefiles que invocam wml com todos os argumentos certos.
Se você rodar um make install, os arquivos html serão construídos e colocados no diretório ../../www/.
Um dos recursos do WML que nós usamos extensivamente é o uso de Perl. Lembre-se, estas páginas não são dinâmicas. O Perl é usado no momento que as oáginas são geradas para fazer qualquer coisa que você queira. Dois bons exemplos de como nós estamos usando Perl nas páginas são para criar uma lista das notícias mais recentes para a página principal e para gerar links para as traduções no final da página.
Para reconstruir os templates de nosso site web, a versão >= 2.0.6 do wml é necessária. Para reconstruir os templates gettext para traduções não-inglesas, o mp4h >= 1.3.0 é necessário.
Idiomas multi-byte podem precisar de pré ou pós processamento especial
para o arquivo .wml para lidar corretamente com o conjunto de caracteres.
Isto pode ser feito alteranto as variáveis WMLPROLOG e
WMLEPILOG em webwml/<lang>/Make.lang
apropriadamente. Dependendo de como o seu programa WMLEPILOG
funciona, você pode precisar alterar o valor de WMLOUTFILE.
Veja as traduções japonesas ou chinesas para um exemplo.