Este módulo permite que sejam apresentados textos distintos dependendo do domínio ao qual pertence uma certa página. Ele é uma implementação em lua da predefinição {{Namespace detect}}, com algumas melhorias: há suporte para todos os domínios e todos os nomes alternativos, e os nomes dos domínios são detectados automaticamente na wiki local.

{{#invoke: Namespace detect | main
| página       = <!-- página cujo domínio será detectado, se não for a página atual -->
| principal    = <!-- texto a ser retornado para o domínio principal -->
| discussão    = <!-- texto a ser retornado nos domínios de discussão -->

<!-- texto a ser retornado para domínios de conteúdo específicos -->
| portal       = 
| categoria    = 
| usuário(a)   = 
| wikipédia    = 
| wp           = 
| ensino       = 
| mediawiki    = 
| livro        = 
| timedtext    = 
| predefinição = 
| especial     = 
| multimédia   = 
| ficheiro     = 
| imagem       = 
| ajuda        = 
| module       = 

| outro        = <!-- texto a ser retornado para domínios não especificados -->
| domínio para demonstração = <!-- domínio para o qual será mostrado o texto -->

| domínio de conteúdo = <!-- defina como "sim" para tratar páginas de discussão como se fossem os domínios de conteúdo correspondente -->
}}

Parâmetros

editar
  • principal - texto a ser retornado se a página estiver no domínio principal.
  • discussão - texto a ser retornado se a página estiver em um domínio de discussão. Este pode ser qualquer dos domínios de discussão - serão detectados quaisquer das opções "Discussão:", "Wikipédia Discussão:", "Usuário(a) Discussão:", etc.
  • Parâmetros dos domínios de conteúdo, tais como wikipédia, usuário(a), ficheiro... - o texto a ser retornado se a página estiver no domínio correspondente. Este módulo aceita todos os domínios de conteúdo como parâmetros, incluindo os seus nomes alternativos e os domínios virtuais. Veja abaixo uma lista dos valores suportados.
  • outro - texto a ser retornado se não foi especificado nenhum parâmetro para o domínio da página. Esse texto também é retornado se |domínio para demonstração= for definido com um valor que não seja um domínio válido.
  • domínio de conteúdo - se estiver em uma página de discussão, use a página de conteúdo correspondente. Pode ser definido com os valores "sim", "yes", "true" ou "1".
  • página - especifica a página cujo domínio será detectado. Se não for especificada, e se |domínio para demonstração= não estiver definido, então o módulo utiliza a página atual.
  • domínio para demonstração - força o módulo a se comportar como se a página estivesse no domínio especificado. Frequentemente utilizado para demonstrações.

Parâmetros de domínios

editar

Os possíveis valores para os parâmetros de domínios são os seguintes:

Domínio Nomes alternativos
main principal
utilizador user, usuário, usuária, usuário(a), utilizador(a), utilizadora
wikinotícias project, wikinews, wn
ficheiro file, imagem, arquivo, image
mediawiki
predefinição template
ajuda help
categoria category
portal
transwiki
colaboração
timedtext
módulo module

Função table

editar

Utilize o seguinte código para mostrar uma tabela com os possíveis domínios distintos que podem ser utilizados como parâmetros:

{{#invoke:Namespace detect|table|discussão=yes}}

Para incluir os parâmetros para páginas de discussão, utilize |discussão=sim.

Adaptação para outras wikis

editar

Este módulo foi projetado para ser portável. Para utilizá-lo em uma wiki diferente, tudo o que precisará fazer é trocar os valores no Módulo:Namespace detect/config. Há instruções naquela página.

Detalhes técnicos

editar

O módulo utiliza a página Módulo:Namespace detect/data. Essa página é carregadas com mw.loadData, o que significa que ela é processada uma vez por página em vez de uma vez a cada #invoke. Isso foi feito por questões de eficiência.