Usando WML

WML vem de "web site meta language". Isso 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 gera o que você quiser que ele gere, por exemplo, .html ou .php.

Não é fácil aprender a partir da documentação do WML. Ela é bem completa, mas até você entender como ele funciona (e ele é bem poderoso), é mais fácil aprender com exemplos. Você pode achar os arquivos de template usados pelo site do Debian úteis. Eles podem ser encontrados em webwml/english/template/debian/.

Pressupõe-se que você tenha WML instalado no seu computador. Ele está disponível como um pacote Debian.

Editando fontes WML

Algo que todos os arquivos .wml terão é uma ou mais linhas #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.

Construindo páginas web do Debian

Simplesmente digite make em webwml/<lang>. Nós configuramos makefiles que invocam wml com todos os argumentos certos.

Se você executar um make install, os arquivos html serão construídos e colocados no diretório ../../www/.

Recursos extras do WML que nós usamos

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 páginas são geradas para fazer qualquer coisa que você queira. Dois bons exemplos de como nós estamos usando Perl nas páginas é para criar uma lista das notícias mais recentes para a página principal e 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.

Questões específicas com o WML

Idiomas multi-byte podem precisar de pré ou pós processamento especial para os arquivos .wml para lidar corretamente com o conjunto de caracteres. Isto pode ser feito alterando 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.