Extension:Transclusão de seção etiquetada
![]() 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 pastaextensions/
.
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' );
- 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:
- Apenas a primeira ocorrência de sectionX é transcluída se você tiver mais de uma seção com o mesmo nome.
- 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
".
- 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.
- 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
- wikisource:user:sanbeg/Includer - * wikisource:user:sanbeg/Includer é uma demonstração a curto prazo, que mostra algumas das características básicas.
Ver também
- DynamicPageList (third-party) inclui uma versão embutida ligeiramente modificada da "Transclusão de seções etiquetadas"
Esta extensão está sendo usada(o) por um ou mais projetos da Wikimedia. Isto significa que, provavelmente, a extensão é estável e funciona bem o suficiente para ser utilizada(o) em sites da web de alto tráfego. Procure pelo nome dessa extensão nos arquivos de configuração CommonSettings.php e InitialiseSettings.php da Wikimedia para verificar onde ela foi instalada. Uma lista completa das extensões instaladas numa wiki em particular podem ser visualizadas na página Special:Version da wiki. |
Esta extensão está incluída nas seguintes fazendas/hospedagens (farms/hosts) e/ou pacotes wiki: Esta não é uma lista autoritativa (oficial). Algumas fazendas/hospedagens (farms/hosts) e/ou pacotes wiki podem conter esta extensão mesmo que não estejam listados aqui. Sempre verifique com suas fazendas/hospedagens (farms/hosts) ou pacotes wiki para confirmar. |