Módulo:Testes/Gkiyoshinishimoto/Format link/doc

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

Este módulo, migrado das origens em Módulo:Testes/Gkiyoshinishimoto/Hatnote, fornece funcionalidade para formatar ligações[a] para exibição, incluindo a que move a predefinição {{Teste/Gkiyoshinishimoto/Format link}}.

Ele pode formatar ligações[a] de seção com o símbolo de seção ("§") e espaços em branco apropriados, automaticamente escapa nomes de categoria e arquivo com o truque de dois pontos [en] e inclui funcionalidade para colocar em itálico o nome da página ou seção, e para detectar e categorizar os resultados que produzem ligações vermelhas.

Uso a partir de texto wiki[editar código-fonte]

As funções neste módulo não podem ser usadas diretamente de #invoke e devem ser usadas por meio de predefinições. Consulte Predefinição:Teste/Gkiyoshinishimoto/Format link para obter a documentação sobre o uso dessa predefinição.

Uso a partir de outros módulos Lua[editar código-fonte]

Para carregar este módulo a partir de outro módulo Lua, utilize o seguinte código:

local mFormatLink = require('Módulo:Testes/Gkiyoshinishimoto/Format link')

Você pode então usar as funções conforme documentado abaixo.

_formatLink[editar código-fonte]

mFormatLink._formatLink{
    link = 'Ligação',
    display = 'Texto a ser mostrado',
    target = 'Destino',
    italicizePage = true,
    italicizeSection = true,
    categorizeMissing = '!Páginas que utilizam ligações vermelhas formatadas'
}

Formata link como uma ligação wiki[b]. Categorias e arquivos são escapados automaticamente com o truque de dois pontos [en], e as ligações[a] para as seções são formatadas automaticamente como página § seção, em vez do padrão MediaWiki de página#seção.

Várias opções modificam a saída:

  • Se o valor display estiver presente, ele será usado como um valor de exibição. Qualquer inserção manual da barra vertical (usando a palavra mágica {{!}} ou similar) presente em link será substituída pelo valor de display, se presente.
  • Se o valor target estiver presente, ele substituirá link como um destino, mas o resultado ainda será mostrado usando o valor de display , ou o resultado da formatação de link.
  • Se italicizePage for "true", então a parte da página da ligação[a] estará em itálico, se presente.
  • Se italicizeSection for "true", então a parte da seção da ligação[a] estará em itálico, se presente.
  • Se categorizeMissing for uma sequência[c] preenchida (que é não vazia), então esse valor é usado como um nome de categoria, e essa categoria será aplicada se o destino resultante da ligação[a] (não importa se através de link ou através de target) não existir.
Exemplos
mFormatLink._formatLink{link = 'Foo#Baz'} → [[:Foo#Baz|Foo § Barz]] → Foo § Baz
mFormatLink._formatLink{link = 'Foo', display = 'Qux'} → [[:Foo|Qux]] → Qux
mFormatLink._formatLink{link = 'Foo|Baz', display = 'Qux'} → [[:Foo|Qux]] → Qux
mFormatLink._formatLink{link = '#Foo', target = 'Exemplo#Foo'} → [[:Exemplo#Foo|§ Foo]] → § Foo
mFormatLink._formatLink{link = 'O Senhor dos Anéis#Detalhes do enredo', italicizePage = true} → [[:O Senhor dos Anéis#Detalhes do enredo|''O Senhor dos Anéis'' § Detalhes do enredo]] → O Senhor dos Anéis § Detalhes do enredo
mFormatLink._formatLink{link = 'en:Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice', italicizeSection = true} → [[:en:Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice|Cybercrime Prevention Act of 2012 § ''Disini v. Secretary of Justice'']] → en:Cybercrime Prevention Act of 2012 § Disini v. Secretary of Justice
mFormatLink._formatLink{link = 'Página inexistente', categorizeMissing = 'Exemplo'} → [[:Página inexistente]][[Categoria:Exemplo]] → Página inexistente
mFormatLink._formatLink{link = 'Existência', categorizeMissing = 'Exemplo'} → [[:Existência]] → Existência

formatPages[editar código-fonte]

mFormatLink.formatPages(options, pages)

Essa função derivada é útil para listas que formatam muitas ligações[a]. Ela formata um arranjo[d] de páginas usando a função _formatLink e retorna o resultado como um arranjo[d]. As opções na tabela options são aplicadas e usam os mesmos nomes que as opções para _formatLink.

Exemplo
mFormatLink.formatPages({categorizeMissing = 'Exemplo'}, {'Foo#Baz', 'Página inexistente'}){'[[:Foo#Baz|Foo § Baz]]', '[[:Página inexistente]][[Categoria:Exemplo]]'}

Erros[editar código-fonte]

Se _formatLink for usada e nenhum argumento link nem target for fornecido, o módulo produzirá uma mensagem de erro em vez de sua saída normal, já que ele não pode então produzir uma saída válida.

Você pode resolver esse erro fornecendo os parâmetros apropriados para _formatLink ou pode querer garantir que um erro mais descritivo seja fornecido por uma predefinição ou um módulo (relativos a uma fase do processo[e]) quando, de outra forma, chamaria _formatLink com argumentos inadequados.

Notas[editar código-fonte]

  1. do inglês string
  2. a b do inglês array
  3. do inglês downstream