Usando WML

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.

Editando fontes WML

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.

Construindo páginas web do Debian

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/.

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 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.

Problemas específicos com o WML

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.