Ajuda:Guia de edição/Como criar predefinições

Antes de aprender a como criar predefinições, deve-se dominar o básico sobre elas. Para tanto leia: Wikipedia:Predefinições. Depois do básico, a fim de tornar as predefinições mais versáteis, deve-se aprender a parte mais avançada, que são as palavras mágicas e as ParserFunctions. É recomendável também aprender sobre tabelas, caso não vá usar uma predefinição como base.

Caso não queira aprender os aspectos técnicos, pode fazer um pedido para criarem a predefinição em Wikipedia:Predefinições pedidas, ou então pode tomar como base uma predefinição já existente que seja semelhante à que quer criar e adaptá-la.

Criar uma predefinição

Nome

Para criar uma predefinição para ser utilizada em artigos enciclopédicos, o título deve ser Predefinição:Nome da predefinição no qual deve substituir Nome da predefinição pelo nome que quer atribuir à predefinição. Note que, tal como qualquer página da Wikipédia, não pode haver duas predefinições com o mesmo nome. Para criar uma predefinição também pode usar o campo seguinte, escrevendo o nome da predefinição a seguir ao texto "Predefinição:" (não o retire, caso contrário irá criar uma página no domínio principal como um artigo enciclopédico e não uma predefinição)

Ao criar a predefinição deve escolher um nome suscito mas descritivo, ou seja, se quiser criar uma predefinição sobre as obras de Albert Einstein, não deve criar uma predefinição com o nome Predefinição:AE. Se for Predefinição:Albert Einstein é aceitável, sendo preferível um nome mais descritivo como Predefinição:Albert Einstein (obras) ou Predefinição:Obras de Albert Einstein por exemplo. O nome da predefinição é bastante importante por várias razões, assumindo bastante importância no código que é mostrado nas páginas onde é utilizada. Alguém que não conheça essa predefinição pode ter dificuldades em perceber o que significa o código {{AE}} ao contrário de {{Albert Einstein (obras)}} ou {{Obras de Albert Einstein}}.

Base

Depois de escolhido o nome mais adequado, você precisa definir o que será a base da sua predefinição, se uma tabela ou se uma predefinição. Lembrando apenas que predefinições invisíveis dispensam esta escolha já que nada aparecerá.

Se optar por tabela precisará ter conhecimentos intermediários ou avançados sobre tabelas. Se optar por uma predefinição de base, terá apenas que se familiarizar com seus parâmetros.

Exemplos de predefinições de base:

PS: Uma predefinição de base é na verdade uma predefinição dinâmica!

Criar uma predefinição estática

As predefinições estáticas são as mais fáceis de criar e devem ser utilizadas nos casos em que se quer mostrar as mesma informação em todas as páginas. A maneira mais fácil de se criá-la, é usar uma predefinição de base, como a {{Navbox}} (para uma predefinição horizontal, usada ao fim dos artigos), e a {{Sidebar}} (para uma predefinição vertical, usada no topo de um artigo ou seção).

Criar uma predefinição dinâmica

Para criar uma predefinição dinâmica, salvo algumas exceções, é necessário definir os campos necessários. No entanto, tal como qualquer página da Wikipédia, pode-se adicionar ou retirar esses campos mais tarde ou até mesmo corrigir eventuais falhas na predefinição que se venham a descobrir.

A parte principal das predefinições dinâmicas são os parâmetros ou campos para introdução de dados ao usar a predefinição em artigos. Os parâmetros devem ser dispostos no código onde devem aparecer ou ter algum efeito.

Um parâmetro é criado colocando-se três chaves de cada lado, da seguinte forma: {{{parâmetro}}}. Caso contrário, se colocar apenas entre 2 chaves, será interpretado como usar a predefinição com esse nome.

Existem duas formas de se criar os parâmetros, obrigando ou não a se especificar o nome dele. Se se obrigar a sintaxe ficará assim: {{nome da predefinição|nome do parâmetro=valor do parâmetro}}, senão obrigar assim: {{nome da predefinição|valor do parâmetro}}. Embora seja mais fácil não especificar o nome dos parâmetros, algumas vezes isto torna-se obrigatório pela facilidade de se usar a predefinição. Dois exemplos são os infoboxes e quando se especifica a data.

Para criar um parâmetro sem a necessidade de se especificar seu nome, deve ser colocado um número entre as chaves: {{{1}}}. Lembre-se que no caso de a predefinição admitir vários parâmetros, o número deve ser mudado ({{{1}}}, {{{2}}}, {{{3}}}, {{{4}}}....).

Para os parâmetros que devem ter seu nome especificado (vamos supor que seja uma infobox) deve-se colocar no lugar do número, o nome do parâmetro: {{{nome do parâmetro}}}.

O nome dos campos deve ser sucinto mas suficientemente descritivo. Para quando existirem mais de um nome lógico para um campo (morte > falecimento), ou caso se trate de uma palavra que varie de acordo com a variante da língua (guião > roteiro), pode-se admitir todos os possíveis da seguinte maneira: {{{nome do parâmetro|{{{nome do parâmetro2|{{{nome do parâmetro3|}}}}}}}}}. Ou seja, colocando um dentro do outro após o símbolo |. Alternativamente, pode-se usar a Predefinição:Argvar para esta tarefa (ver documentação da predefinição para como usá-la). Lembre-se que o nome dos parâmetros é CaseSensitive (diferencia maiúsculas de minúsculas).

Um parâmetro como exemplificado até agora é obrigatório, o que significa que se não for especificado aparecerá {{{parâmetro}}} no lugar de seu valor. Para torná-lo opcional (se não for especificado será simplesmente omitido do resultado final) basta adicionar o símbolo | ao final do nome do parâmetro: {{{parâmetro|}}}. Devido a isto, um parâmetro não pode conter este símbolo como parte de seu nome.

Sintaxes de uma predefinição dinâmica

Dependendo da quantidade de parâmetros da predefinição, pode-se colocar o código da predefinição dinâmica de várias formas nos artigos:

Código Descrição
{{Biografia|nome=Albert_Einstein|data_nascimento=[[1879]]}} Utilização numa só linha. Adequado apenas em predefinições com poucos parâmetros.
{{ Biografia | nome = Albert Einstein | data nascimento = [[1879]] }} Exemplo similar ao anterior com separação entre os elementos. O resultado é o mesmo ao visualizar (mas não ao editar) a página.
{{Biografia|
nome=Albert Einstein|
data nascimento=[[1879]]
}}
A localização das barras verticais neste exemplo não é aconselhável, pois poderá ser removido inadvertidamente por outro editor ao editar a página.
{{Biografia
|nome=Albert Einstein
|data nascimento=[[1879]]
}}
Neste caso os campos não estão alinhados, sendo recomendável usar como no exemplo seguinte.
{{Biografia
|nome            = Albert Einstein
|data nascimento = [[1879]]
}}
Utilização recomendada no caso da predefinição ter muitos campos para preencher, pois facilita a organização e a legibilidade dos mesmos.

Os exemplos apresentados nesta tabela são todos válidos e funcionais, apresentando apenas diferentes modos de apresentação ao editar as páginas onde a predefinição é utilizada.

Documentação

Sempre que criar uma predefinição, deve também documentá-la. Documentar predefinições é essencial para o entendimento do seu funcionamento, principalmente, mas não apenas, para os novatos e usuários não familiarizados com este recurso.

Categorias e interwikis

Os interwikis e as categorias da predefinição devem ser colocados na subpágina /doc (na documentação, ver seção acima), dentro de <includeonly></includeonly>.

Limites das predefinições

Quando as predefinição são renderizadas ou expandidos para HTML para visualização em seu navegador, eles usam memória. Isso é chamado de "tamanho de inclusão pós-expansão" e tem um limite de 2.048.000 bytes. Esse tamanho é incluído como um comentário invisível na saída HTML - use o recurso de fonte de visualização do seu navegador para mostrar o HTML bruto e pesquise "newpp". O relatório será semelhante a:

<!--
NewPP limit report
Preprocessor node count: 2382/1000000
Post-expand include size: 63476/2048000 bytes
Template argument size: 9517/2048000 bytes
Expensive parser function count: 2/500
-->

O exemplo mostra que a expansão da predefinição está usando 63.476 bytes de 2.048.000 bytes de memória disponível.

Problema de exibição. Se muitas predefinições forem incluídas em uma página, o tamanho de inclusão pós-expansão pode exceder o limite. Quando isso acontece, as predefinições após o limite não se expandem mais e, em vez disso, são exibidos como um wikilink (por exemplo, Predefinição: Nome da predefinição). As causas comuns são a inclusão de muitas predefinições de citação e/ou de sinalização. Para resolver esse problema, substitua os modelos, remova as predefinições ou divida a página.

As tranclusões não renderizadas ainda contam para o limite. Por exemplo, uma página que contém apenas {{#if: {{: Página principal}}}} ainda teria um tamanho de inclusão pós-expansão, embora não tivesse saída alguma.

Considerações a ter

  • Ao alterar uma predefinição tenha em conta que pode estar a ser utilizada em centenas ou milhares de páginas. Pode averiguar em que páginas é utilizada clicando em "Páginas afluentes" no menu "Ferramentas" localizado do lado esquerdo ao visualizar a predefinição. Se não tem a certeza se determinada alteração funciona, recomenda-se copiar o código da predefinição para a Predefinição:Teste ou uma página de testes localizada na sua conta de usuário. Caso altere a predefinição, deve utilizar o botão "mostrar previsão" e fazer o mínimo de edições seguidas. Cada alteração que se faça em predefinições obriga os servidores da Fundação Wikimedia a atualizar a cache de todas as páginas em que a predefinição é utilizada ao contrário de uma página "normal" em que só é preciso actualizar a cache dessa página.
  • Se alterar o nome de um campo de uma predefinição existente que seja dinâmica, é necessário alterar o nome desse campo em todas as páginas onde a predefinição é utilizada (artigos afluentes), bem como na sua documentação.
  • Caixas de informação, infoboxes e caixas de navegação (que se situem no início do artigo do lado direito) - regra geral, a largura destas predefinições não deve ser superior a 300 pixels. A largura ideal situa-se entre 200 e 250 pixels.
  • Caixas de navegação (que se situem no final das páginas) - devem ocupar a largura total.
  • Caixa de avisos ou indicações relevantes - ocupam cerca de 80% da largura total. Por uma questão de uniformização, este tipo de predefinições devem utilizar como base a Predefinição:Ambox (caso sejam avisos para o domínio principal). Para criar novos avisos por favor consultar a documentação dessa predefinição ou das predefinições da seguinte lista, conforme o domínio a que o aviso se aplica:

Existem várias metapredefinições, na família mbox:

  • {{ambox}} – Caixas de mensagem para artigo.
  • {{asbox}} – Caixas de mensagem para esboços.
  • {{tmbox}} – Caixas de mensagem para página de discussão.
  • {{imbox}} – Caixas de mensagem para página de imagem.
  • {{cmbox}} – Caixas de mensagem para categoria .
  • {{ombox}} – Caixas de mensagem para outras páginas.
  • {{mbox}} – Tem detecção de nomes para caixas de mensagem, que são usadas em vários tipos de páginas e assim precisamos para alterar o estilo dependendo de, em qual página eles serão utilizados.

Metapredefinições estreitamente relacionados:

  • {{fmbox}} – Caixas de mensagem para cabeçalho e rodapé.
  • {{dmbox}} – Caixas de mensagem para desambiguação e definir índice.

Ver também