Módulo:Template wrapper/doc

Origem: Wikipédia, a enciclopédia livre.

Esse módulo deve ser usado em modelos de wrapper ou envelope para permitir que esses modelos forneçam valores de parâmetro padrão e permitam que os editores passem parâmetros adicionais para o modelo de trabalho subjacente.

Ao gravar uma predefinição de wrapper, forneça a esse módulo todos os parâmetros padrão normalmente necessários para usar o modelo de wrapper em seu formato base. Em seguida, os editores usam o modelo de wrapper como está ou podem fornecer parâmetros adicionais de wrapper e canônicos. Qualquer um dos parâmetros canônicos suportados pelo modelo de trabalho pode ser adicionado ao modelo de wrapper ou fornecido pelos editores no espaço do artigo. Quando um editor fornece um parâmetro que possui um valor padrão no modelo de wrapper, o valor fornecido pelo editor substitui o padrão. Quando for necessário remover um parâmetro padrão, os editores podem definir o valor do parâmetro para a palavra-chave especial unset, o que fará com que este módulo de wrapper apague o valor padrão do modelo do wrapper para esse parâmetro. Este módulo descarta os parâmetros nomeados vazios.

Parâmetros posicionais não são normalmente passados ​​para o modelo de trabalho. Definir |_include-posicional=sim passará todos os parâmetros posicionais para o modelo de trabalho. Parâmetros posicionais não podem ser excluídos; Parâmetros posicionais podem ser unset.

Parâmetros que são usados ​​somente pelo wrapper devem ser posicionais (|n=) ou listados em |_exclude= (uma lista separada por vírgulas de parâmetros nomeados). Este módulo não passará parâmetros _excluded para o modelo de trabalho.

Uso[editar código-fonte]

{{#invoke:Template wrapper|wrap|_template=working template|_exclude=named parameter, named parameter, ...|_reuse=named parameter, named parameter, ...|_alias-map=alias parameter:canonical parameter|_include-positional=yes|<default parameter>|<default parameter>|...}}

Parâmetros de controle
|_template= - (obrigatório) o nome, sem namespace, do modelo de trabalho (o modelo que é empacotado); veja § _template abaixo
|_exclude= - lista separada por vírgulas de nomes de parâmetros usados pelo modelo de wrapper que não devem ser passados para o template de trabalho; veja § _exclude abaixo
|_reuse= - lista separada por vírgulas de nomes canônicos que têm significado para o modelo de wrapper e para o modelo de trabalho; veja § _reuse abaixo
|_alias-map= - lista separada por vírgula de nomes de parâmetros de wrapper-modelo que devem ser tratados como aliases de parâmetros canônicos de modelos de trabalho especificados; veja § _alias-map abaixo
|_include-posicional= - passa todos os parâmetros posicionais ao modelo de trabalho; veja § _include-posicional abaixo

Definições

parâmetro canonical - um parâmetro suportado e usado pelo modelo de trabalho
parâmetro wrapper - um parâmetro usado pelo modelo wrapper; pode fornecer dados para parâmetros canônicos ou controlar outros aspectos do modelo de wrapper
parâmetro alias - um parâmetro de wrapper que é contextualmente significativo para o modelo de wrapper, mas deve ser renomeado para um parâmetro canônico para uso pelo modelo de trabalho
parâmetro reused - um parâmetro que é compartilhado pelos modelos wrapper e que funciona e foi modificado pelo template wrapper
parâmetro padrão - um parâmetro canônico dado um valor padrão no modelo de wrapper
processamento de parâmetros
wrapper
template
Module:Template wrapper working
predefinição
|canonical parameters=  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  →  filter
exclued
parameters
working
template
|wrapper parameters=  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  → 
  |_exclude=  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  →   → 
  |_include-positional=  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  → 
  |_alias-map=  →  convert alias
parameters to
canonical
parameters
 →  |canonical parameters=  →  –––––––→  →  –––––––→  →   → 
   →   →  modify
reused
canonical
parameters
|alias parameters=  →  –––––––→  →   →  |reused parameters=  →  –––→  → 
  |_reuse=  →  –––––––→  →  –––––––→  → 
|canonical parameters=  →  –––––––→  →  –––––––→  →  –––––––→  → 
  |default parameters=  →  –––––––→  →  –––––––→  →  –––––––→  →  –––––––→  →  –––→  → 

Detalhes do parâmetro[editar código-fonte]

_ template[editar código-fonte]

O único parâmetro necessário, |_template= fornece o nome, sem namespace, do modelo de trabalho (o modelo que é empacotado). Se este parâmetro for omitido, o módulo: invólucro de modelo emitirá a mensagem de erro:

|_template= em falta ou vazio

_ alias-map[editar código-fonte]

|alias-map= usa uma lista separada por vírgula dos parâmetros do modelo de wrapper que devem ser tratados como aliases dos parâmetros canônicos do modelo de trabalho especificado. Cada elemento de mapeamento da lista tem o formulário:

& lt; from>: & lt; to> - onde: & lt; de> é um nome de parâmetro do wrapper e & lt; to> é um nome de parâmetro canônico

Neste exemplo, pode ser preferível que um modelo de wrapper use |assessor=, que pode ser desconhecido para o modelo de trabalho, mas o modelo de trabalho pode ter um equivalente |autor= no {{#invoke:}} nós escreveríamos:

|_alias-map=assessor:autor

Parâmetros posicionais também podem ser mapeados para parâmetros canônicos:

|_alias-map=1:autor, 2:titulo, 3:lingua

Os parâmetros do wrapper enumerados podem ser mapeados para parâmetros canônicos enumerados usando o especificador # enumerator:

|_alias-map=assessor#:autor#

Dado o exemplo acima, |assessor2= será mapeado para |autor2=; Além disso, |assessor= e |assessor1= serão mapeados para |autor1=

Vários parâmetros de wrapper podem mapear para um único parâmetro canônico:

|_alias-map=1: autor, avaliador: autor

Os parâmetros do wrapper listados em |alias-map= não são passados ​​para o modelo de trabalho. Mapeamento de parâmetros posicionais quando |_include-posicional=sim pode dar resultados indesejáveis. |_alias-map=1:autor e |_include-posicional=yes fará com que todos os outros parâmetros posicionais sejam passados ​​para o modelo de trabalho como é: wrapper template {{{2}}} torna-se o template de trabalho {{{2}}}, etc; O template de trabalho não vai ter {{{1}}}, mas ele terá |author=.

_ reuse[editar código-fonte]

|_reuse= usa uma lista separada por vírgula de parâmetros canônicos que têm significado para o modelo de wrapper e para o modelo de trabalho

Nos casos mais simples, um parâmetro canônico enviado para o modelo de wrapper substitui um parâmetro padrão fornecido no modelo de wrapper. Às vezes, um parâmetro de wrapper é o mesmo que um parâmetro canônico e o modelo de wrapper precisa modificar o valor do parâmetro antes de ser passado para o modelo de trabalho. Neste exemplo, |title= é um parâmetro de wrapper e um parâmetro canônico que o modelo de wrapper precisa modificar antes de passar para o modelo de trabalho. Para fazer isso, primeiro escrevemos:

|_reuse=title

então, no {{# invoke: Template wapper|wrap|_template = ...|...}} do template do wrapper escrevemos:

|title=Modificado {{{title}}}

Parâmetros _reused não podem ser substituídos.

_ exclude[editar código-fonte]

|_exclude= usa uma lista separada por vírgula de parâmetros usados ​​pelo modelo de wrapper que não devem ser passados ​​para o modelo de trabalho. Essa lista se aplica a todos os parâmetros de wrapper e canônicos (incluindo os parâmetros canônicos que são renomeados para os parâmetros de alias) recebidos do modelo de wrapper.

Como exemplo, um modelo de wrapper pode usar |id= para fornecer uma parte do valor atribuído ao parâmetro padrão |url=, portanto, poderíamos escrever:

|_exclude=id

então, no {{# invoke:Template wapper|wrap|_template = ...|...}} do template do wrapper escrevemos:

|url=https://example.com/{{{id}}}

O valor |url= modificado é passado para o template de trabalho, mas |id= e seu valor não é.

Os parâmetros _reused e default não podem ser excluídos

_ include-posicional[editar código-fonte]

|_include-posicional= é um parâmetro booleano que usa apenas um valor: yes; o padrão (vazio, ausente) é no (parâmetros posicionais normalmente excluídos). Quando definido como yes, o wrapper Module: Template passará todos os parâmetros posicionais para o modelo de trabalho.

Veja também § _alias-map.

Substituindo parâmetros padrão[editar código-fonte]

Os editores podem substituir os parâmetros padrão simplesmente definindo o parâmetro padrão para o valor desejado no modelo de wrapper. Este módulo ignora os parâmetros vazios (aqueles parâmetros que são nomeados, mas que não possuem um valor atribuído). Quando for desejável sobrescrever um parâmetro padrão para nenhum valor, use a palavra-chave especial unset. Os parâmetros padrão com este valor são passados para o modelo de trabalho como parâmetros vazios (sem valor atribuído).

Parâmetros _reused não podem ser unset ou sobrescritos.

Ajuda de depuração[editar código-fonte]

Este módulo tem dois pontos de entrada. Um modelo de wrapper pode usar um módulo {{#invoke:}} escrito assim:

{{#invoke:Template wrapper|{{#if:{{{_debug|}}}|lista|embrulhar}}|_template =<modelo de trabalho>|_exclude = _debug, ...|...}}

onde o parâmetro de wrapper |_debug=, definido como qualquer valor, fará com que o módulo renderize a chamada para o modelo de trabalho sem realmente chamar o modelo de trabalho.

Como exemplo, {{citar wikisource}} é um modelo de wrapper que usa {{citation}} como modelo de trabalho. O {{citar wikisource}} aceita parâmetros posicionais, mas {{citation}} não faz com que o modelo do wrapper converta os parâmetros posicionais em parâmetros nomeados, usando o parâmetro |_alias-map=:

<syntaxhighlight lang = "moin"> {{#invoke:Template wapper|{{# if: {|list|wrap}}|_template = citation
|_exclude = ..., _debug <! - detalhes desnecessários omitidos ->
|_alias-map = 1: title, 2: author, 3: language </ syntaxhighlight>

Este exemplo usa parâmetros posicionais e define |_debug=yes para mostrar que o modelo {{citation}} está formado corretamente:

{{citar wikisource|Sentido e sensibilidade|Jane Austen|es|_debug = sim}}
es no Wikisource em (erro: código de língua 'Sentido e sensibilidade' não reconhecido!).

e, com |_debug= não definido:

{{citar wikisource|Sentido e sensibilidade|Jane Austen|es|_debug =}}
es no Wikisource em (erro: código de língua 'Sentido e sensibilidade' não reconhecido!).

O nome |_debug= é escolhido aqui por conveniência, mas pode ser qualquer coisa desde que corresponda ao {{#if:}} no {{#invoke:}}.