Jump to content

Extension:Transclusão de seção etiquetada

From mediawiki.org
This page is a translated version of the page Extension:Labeled Section Transclusion and the translation is 69% complete.
Outdated translations are marked like this.
Manual de extensões do MediaWiki
Labeled Section Transclusion
Estado da versão: estável
Implementação Marcação , Função de análise sintática
Descrição Habilita seções de texto marcadas para serem transcluídas
Autor(es) Steve Sanbeg
Política de
compatibilidade
Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.19+
Modifica o banco
de dados
Não
Licença GNU GPL (Licença Pública Geral) 2.0 ou superior
Download
Public wikis using 6,919 (Ranked 26th)
Para traduzir a extensão Labeled Section Transclusion, verifique sua disponibilidade no translatewiki.net
Problemas Tarefas em aberto · Relatar um bug

O Labeled Section Transclusion permite transclusão seletiva de seções marcadas de texto. Sua funcionalidade é semelhante a uma versão melhorada da tag ‎<onlyinclude> com transclusão wiki normal, que seleciona as seções para a inclusão. Está habilitada em todas as wikis da Wikimedia.

Enquanto a transclusão normal é destinada principalmente para transcluir grandes porções de pequenas predefinições, a transclusão de seções etiquetadas destina-se a pequenas porções de páginas grandes.

No entanto, existem algumas diferenças. Na transclusão de predefinição nativa, as seções são marcadas por comportamentos; portanto, você pode ter apenas uma seção (possivelmente não contígua) a ser incluída ou ignorada.

Aqui, as seções são marcadas por nome, e o comportamento é escolhido pelo autor da chamada, que pode incluir ou pular seções, conforme necessário. Diferentes páginas podem incluir ou excluir seções selecionadas; pode haver números arbitrários de seções, que também podem se sobrepor de forma arbitrária.

A marcação de seções por nome em vez de comportamento permite que links de edição de seção sejam processados de forma mais adequada para obter trechos de texto maiores, já que a extensão pode agora responder por seções que são ignoradas no início da página, permitindo que seções transcluídas sejam compensadas de forma adequada.

Instalação

  • Baixe e coloque o(s) arquivo(s) num diretório chamado LabeledSectionTransclusion na sua pasta extensions/.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion
  • Adicione o seguinte código ao final do seu arquivo LocalSettings.php :
    wfLoadExtension( 'LabeledSectionTransclusion' );
    
  • Yes Concluído – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.

There is also a Gadget in use on Wikisource.org wikis that makes it possible to define sections with a simplified ## label ## syntax. Its code can be found at Wikisource:MediaWiki:Gadget-Easy_LST.js.

Functions

Transclude any marked part

Passo 1: Marque as seções

Marque as seções no texto usando tags ‎<section>, desta maneira:

<section begin="chapter1" />this is chapter 1<section end="chapter1" />

Note que estas etiquetas não são HTML/XML, e não utilizam a sintaxe de atributo normal. Observe que ela utiliza dois marcadores individuais, em vez das tags XML normais de abertura e fechamento, o que simplifica seções aninhadas ou sobrepostas. Isso permite que você insira marcas de seção sem se preocupar com a interferência com outras seções.


Passo 2a: Transclua a seção

Chame a parser function #lst para transclui-la, p.ex. para transcluir uma seção chamada chapter1 de uma página chamada articleX:

{{#lst:articleX|chapter1}}

O artigo de destino define o local da seção; o seu comportamento é determinado pela parser function.

Passo 2b: Transclua a página, mas excluindo a seção

Para transcluir uma página, porém excluindo uma seção específica, utilize a função #lstx:

{{#lstx:articleX|chapter1}}

Opcionalmente, você pode adicionar o texto de substituição para a seção excluída.

{{#lstx:articleX|chapter1|replacement_text}}

Exemplo:

{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}

O texto de substituição será exibido na área onde a seção é ignorada (excluída).

Seções adjacentes

É possível ter várias seções com o mesmo nome; neste caso, todas as seções com esse nome serão incluídas/excluídas. Isto é especialmente útil para marcar várias discussões.

Intervalos de seções

Estas funções têm um argumento adicional, opcional para especificar um intervalo de seção; ou seja, {{#lst:artigoX|capítulo1|capítulo3}}, para incluir tudo, desde o início do capítulo 1 ao fim do capítulo 3. Isto permite a utilização de pares de marcadores vazios para marcar uma extremidade da seção, possivelmente em uma predefinição. Um mecanismo semelhante é usado atualmente no Wikisource em francês.

Substituição

Isso também funciona com substituição; é até possível para um artigo substituir uma seção dele mesmo. Um dos usos fornece uma maneira elegante para arquivar páginas de discussão: Marque o texto a ser arquivado usando <section begin=archive />, etc. Em seguida, crie uma página de arquivo com o texto, usando {{subst:#lst:talk_page|archive}}, que copia seções arquivadas. Por fim, substitua o conteúdo do talk_page com {{subst:#lstx:talk_page|archive}} para remover essas seções.

Há suporte opcional para transcluir seções de texto marcadas com os títulos normais, ou seja, ==this section==. Se instalado, isto é feito com a função lsth.

Transclusão de introdução

Para transcluir a introdução de uma página (isto é, o conteúdo antes da primeira posição), usar

{{#lsth:pagename}}

Transclusão de uma seção específica

Você também pode transcluir todo o conteúdo da sectionX (que inclui todas as suas sub-secções, mas exclui o título de sectionX).

{{#lsth:pagename|sectionX}}

Coisas a serem observadas:

  1. Apenas a primeira ocorrência de sectionX é transcluída se você tiver mais de uma seção com o mesmo nome.
  2. Certifique-se de digitar o título de sectionX que está em código wiki, não como ele é exibido. Por exemplo, se o título da seção é ==List of [[Extension]]==, você deve digitar "List of [[Extension]]", não "List of Extension".
  1. When transcluding a section from a page marked for translation using the translate extension, transclude from the language-specific version.

E.g. from pagename/en rather than from pagename.

  1. A correspondência não diferencia maiúsculas de minúsculas, para evitar links quebrados devido a alterações de caso.

Transclusão de múltiplas seções

Você também pode transcluir a partir da primeira ocorrência de sectionX (excluindo o próprio cabeçalho de sectionX) até que atinja a próxima ocorrência de sectionY. Observe que sectionY atua como um ponto de parada de forma que a inclusão não contém o conteúdo de sectionY.

{{#lsth:pagename|sectionX|sectionY}}

Notas sobre títulos ignorados

Uma vez que a transclusão tradicional no MediaWiki não se destina a transcluir seções, que não leva em conta títulos ignorados. Como resultado, se você fosse transcluir um predefinição com vários títulos, e pular o primeiro título, em seguida, todos os links de edição de seções apontaria para a seção errada na predefinição.

Quando esta extensão é usada (com MediaWiki 1.9 ou posterior), as funções #lst e #lsth contam títulos na parte inicial "ignorada", e compensam títulos transcluída adequadamente. Isso permitirá que esses links apontem para a seção correta no caso simples.

Note que #lstx não conta títulos ignorados, e que estes títulos dentro de seções adjacentes não são compensados​​. Mas parece que isso foi corrigido agora (provavelmente quando portado para o novo pré-processador do MediaWiki). Os títulos transcluídos podem ser ligados às seções corretas.

Localização

Internamente, todas as funções do analisador usam o prefixo lst, por coerência com o nome da extensão. Uma vez que esta sigla pode ser confusa para não-desenvolvedores, as variantes de inglês legível foram introduzidas, então as funções atualmente podem ser chamadas a partir de qualquer nome.

função inglês alemão hebraico (RTL) português
#lst #section #Abschnitt
#קטע
#trecho
#lstx #section-x #Abschnitt-x
#בלי קטע
#trecho-x
#lsth #section-h

Adicionalmente, a tag já pode ser localizada; atualmente: inglês, alemão, hebraico, português; i.e.:

inglês
<section begin=x/> ... <section end=x/>
alemão
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
hebraico (RTL)
<קטע התחלה=א> ... <קטע סוף=א> (código de "início" para a direita e código de "final" para a esquerda)
português
<trecho começo=x/> ... <trecho fim=x/>

Each localization is enabled only if the page matches the respective content language.

Limitações

  • {{#lsth:pagename|sectionX}} only works on the first section if multiple sections have name sectionX. Only the first occurrence of sectionX is transcluded if an article has more than one section with the same name.
  • While it is possible to use this extension across namespaces, interwiki references are not resolved. It is not yet possible, for example, to include part of a Wikisource page into a remote MediaWiki installation.
  • Tags de seção Tags de seção não podem se ser transcluídas para funcionar em outras páginas. {{#lst:}} and {{#lstx:}} funciona apenas se as tags de seção aparecerem diretamente no wikitexto da página transcluída. Isto significa, por exemplo, que essas tags não podem ser incorporadas em uma predefinição usando parâmetros de predefinição e funções parser. A palavra mágica #tag não funciona com tags de seção. $tag2 produz tags equilibradas, enquanto as tags de seção utiliza tags singulares.
  • As of 2014, section tags don't have any effect when used inside a template parameter. If page A contains a text {{B|X}}, there's no way {{#lst:A|...}} can access X.

Exemplos

Ver também