BT
x Por favor preencha a pesquisa do InfoQ !

Wikimedia adota geração de templates baseada em Lua

por Rafael Sakurai em 26 Mar 2013 |

A Wikimedia adotou a linguagem de programação Lua para geração dos templates de páginas utilizados em diversos sites como o Wikipedia em inglês. A alteração tem como finalidade facilitar a criação de templates e a utilização de tabelas, caixas de informações e outros componentes utilizados na plataforma MediaWiki (a base da Wikipedia e de muitos projetos e empresas).

Sumana Harihareswara, gerente de engenharia da comunidade da Wikimedia, resumiu os problemas relacionados aos templates das páginas, que motivaram a mudança:

Quando começamos a procurar a causa da lentidão no carregamento das páginas alguns anos atrás, vimos que as CPUs passavam muito tempo interpretando os templates. ... Como nunca planejamos usar o wikitext, as tags de marcação do MediaWiki, como uma linguagem de programação, os templates ficaram ineficientes e complexos, sem poder contar com o uso de recursões e loops, e com performance terrível.

Foi criada uma extensão que facilita a criação dos templates:

Nossa equipe e voluntários trabalharam no Scribunto (que em Latin significa "eles escreveram"), uma extensão do MediaWiki que permitir aos editores adicionarem scripts Lua ao invés de wikitext nos templates.

Atualmente, o Scribunto suporta apenas o uso da linguagem Lua, e através da nova extensão, a Wikimedia espera facilitar a geração de novos templates e melhorar a performance principalmente de cálculos matemáticos, e da manipulação e conversão de strings e de árvores de decisão.

Os scripts em Lua serão armazenados como módulos com o namespace Module e podem conter diversas funções que podem ser chamadas através da seguinte sintaxe:

{{#invoke: Module_name | function_name | arg1 | arg2 | arg3 ... }}

Um exemplo de template "olá mundo" com Lua disponível no site do Wikipedia e mostra como chamar a função "hello" do módulo "bananas":

{{#invoke:bananas|hello}}

Para mais informações confira o manual disponibilizado pela Wikimedia, que mostra como criar os templates com Lua utilizando as bibliotecas básicas e o Scribunto.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.