Extension:Labeled Section Transclusion/fr
Labeled Section Transclusion État de la version : stable |
|
---|---|
Implémentation | Balise , Fonction d'analyseur |
Description | Permet aux sections de texte marquées d'être transcluses |
Auteur(s) | Steve Sanbeg |
Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
MediaWiki | 1.19+ |
Modifie la base de données |
Non |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
Utilisé par les wikis publics | 6,919 (Ranked 26th) |
Traduire l’extension Labeled Section Transclusion sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension Labeled Section Transclusion permet la transclusion sélective de sections balisées, en faisant une analyse syntaxique standard du wikicode. Sa fonctionnalité est similaire à une version améliorée de l'étiquette
avec une transclusion wiki normale, laquelle selectionne des sections pour inclusion. Elle est disponible sur tous les wikis Wikimedia.
<onlyinclude>
Tandis que la transclusion normale est destinée principalement à transclure de grandes portions de petits modèles, l'extension Labeled Section Transclusion est destinée pour petites portions de grandes pages.
Pourtant, il y a quelques différences. Dans la transclusion du modèle natif, les sections sont marquées par comportement; donc seules des sections (possiblement non adjacentes) peuvent être incluses ou omises.
Ici, les sections sont marqués par leur nom, et le comportement est choisi par l'appelant, lequel peut inclure ou omettre des sections selon ses besoins. Différentes pages peuvent inclure ou exclure des sections sélectionnées; il peut y avoir un nombre arbitraire de sections, qui peuvent aussi se chevaucher arbitrairement.
En marquant les sections avec un nom plutôt que d'après leur comportement, on peut modifier les liens de section pour les générer de manière plus adaptée pour l'extraction de plus grandes parties de texte, depuis que l'extension peut maintenant compter les sections embarquées au début de la page, permettant aux sections transcluses d'être indexées correctement.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
LabeledSectionTransclusion
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'LabeledSectionTransclusion' );
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Il existe également une extension Gadgets utilisée sur les wikis Wikisource.org permettant de définir des sections avec une syntaxe ## label ##
simplifiée.
Son code se trouve sur Wikisource:MediaWiki:Gadget-Easy_LST.js.
Fonctionnement
Transclure toute partie marquée
Etape 1 marquage des sections
Marquez les sections du texte en utilisant les balises <section>
comme ceci :
<section begin="chapter1" />this is chapter 1<section end="chapter1" />
Notez que ces balises ne sont pas du HTML/XML, et n'utilisent pas la syntaxe normale des attributs.
Pour cette raison, et parce que les marqueurs begin
et end
sont dissociés plutôt que d'avoir des balises standard ouvrantes et fermantes XML, ceci permet d'avoir des sections imbriquées ou qui se recouvrent. Vous pouvez ainsi insérer des balises de section sans vous préoccuper de l'interférence avec les autres sections.
Etape 2a transclure la section
Appeler la fonction d'analyseur #lst pour la transclure, c'est à dire pour transclure une section appelée chapter1 d'une page appelée articleX :
{{#lst:articleX|chapter1}}
L'article cible définit l'emplacement de la section; son comportement est déterminé par la fonction d'analyse.
Etape 2b transclure la page en excluant la section
Pour transclure une page, mais en excluant une section spécifique, utilisez la fonction #lstx :
{{#lstx:articleX|chapter1}}
Optionnellement, vous pouvez ajouter un texte de remplacement à la section exclue.
{{#lstx:articleX|chapter1|replacement_text}}
Exemple :
{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}
Le texte de remplacement apparaîtra dans la zone où la section est sautée (exclue).
Section discontinues
Il est possible d'avoir des sections multiples ayant le même nom; dans ce cas, chaque section qui a ce nom sera inclue/exclue. Ceci est particulièrement utile pour marquer différentes discussions.
Intervalles de sections
Ces fonctions ont un argument supplémentaire et facultatif pour spécifier un intervalle de sections; par exemple {{#lst:articleX|chapitre1|chapitre3}}
, pour inclure tout ce qui se trouve entre le début du chapitre 1 jusqu'à la fin du chapitre 3. Ceci permet d'utiliser des paires de marqueurs vides pour marquer une fin de section, éventuellement dans un modèle. Un mécanisme similaire est utilisé actuellement dans le Wikisource français.
Substitution
Ceci fonctionnne également avec la substitution; il est même possible pour un article de se substituer une de ses sections. Une utilisation de ceci fournit une manière élégante d'archiver les pages de discussion : marquez le texte à archiver en utilisant <section begin=archive />
, etc. Puis créez une page d'archive avec le texte en utilisant {{subst:#lst:talk_page|archive}}, ce qui copie les sections archivées. Enfin remplacez le contenu de talk_page par {{subst:#lstx:talk_page|archive}} pour supprimer ces sections.
Ceci est un support facultatif pour transclure les sections de texte marquées avec les titres habituels, par exemple ==this section==
. Si elle est installée, cela se fait à l'aide de la fonction lsth.
Transclure avant le premier titre
Pour transclure l'introduction d'une page (par exemple le contenu avant le premier titre), utilisez
{{#lsth:pagename}}
Transclure une section spécifique
Vous pouvez également transclure le contenu complet de la sectionX (qui inclut toutes ses sous-sections et exclut le titre de sectionX lui même).
{{#lsth:pagename|sectionX}}
Eléments à prendre en compte:
- Seule la première occurence de la sectionX est transclue s'il y a plusieurs sections de même nom.
- Assurez-vous de bien entrer le titre de sectionX tel qu'il figure dans le wikicode, et non pas tel qu'il est affiché. Par exemple si le titre de la section est
==List of [[Extension]]==
, vous devez entrer «List of [[Extension]]
» et non pas «List of Extension
». - Si vous transcluez une section à partir d'une page marquée à traduire, en utilisant l'extension Translate, transcluez à partire de la version spécifique à la langue. Par exemple, à partir de pagename/en plutôt que de pagename.
- La correspondance est indépendante de la casse pour éviter d'avoir des liens non trouvés à cause des changements de casse.
Transclure plusieurs sections
Vous pouvez également transclure à partir de la première occurence de sectionX (en excluant le titre de sectionX lui-même) jusqu'à atteindre la prochaine occurrence de sectionY. Notez que sectionY agit comme un point d'arrêt et que la transclusion ne contient pas le contenu de sectionY.
{{#lsth:pagename|sectionX|sectionY}}
Notes concernant les titres sautés
Comme la méthode usuelle pour transclure dans MediaWiki n'est pas prévue pour transclure des sections, elle ne compte pas les titres sautés. Par défaut, si vous vouliez transclure un modèle avec plusieurs titres en sautant le premier, alors tous les liens des sections modifiées pointeraient vers la mauvaise section du modèle.
Lorsque cette extension est utilisée (avec MediaWiki 1.9 ou ultérieur), les fonctions #lst
et #lsth
comptent les titres au début de la partie « à sauter » et indexent les titres inclus en conséquence. Ceci permet à ces liens de pointer vers la bonne section dans le cas simple.
Notez que #lstx ne compte pas les titres sautés, et que les titres sautés qui se trouvent dans des sections discontinues ne sont pas atteints. Mais il semble que cela soit maintenant corrigé (en parallèle avec le portage sur le nouveau préprocesseur MediaWiki). Les titres transclus peuvent être liés correctement aux sections.
Internationalisation
En interne, les fonctions d'analyseur utilisent toutes les préfixe lst , pour être cohérentes avec le nom de l'extension. Parce que cet acronyme peut prêter à confusion aux non-développeurs, des variantes anglaises lisibles ont été introduites, et les fonctions peuvent actuellement être appelées par l'intermédiaire des différents noms.
fonction | anglais | allemand | hébreu (RTL) | portugais |
---|---|---|---|---|
#lst | #section | #Abschnitt | #קטע |
#trecho |
#lstx | #section-x | #Abschnitt-x | #בלי קטע |
#trecho-x |
#lsth | #section-h |
En plus, la balise peut maintenant être internationalisée; actuellement en : anglais, allemand, hébreu, portugais; par exemple :
- anglais
<section begin=x/> ... <section end=x/>
- allemand
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
- hébreu (RTL)
<קטע התחלה=א> ... <קטע סוף=א>
(commencez le code à droite et terminez le code à gauche)- portugais
<trecho começo=x/> ... <trecho fim=x/>
Chaque internationalisation ne se fait que si la langue du contenu de la page traduite correspond.
Limitations
- {{#lsth:pagename|sectionX}} ne fonctionne que sur la première section si plusieurs sections ont pour nom sectionX. Seule la première occurence de sectionX est transcluse si un article possède plus d'une section qui a le même nom.
- Alors qu'il est possible d'utiliser cette extension au travers des espaces de noms, les références interwiki ne sont pas résolues. Il n'est pas encore possible par exemple d'inclure une partie de page Wikisource dans une installation MediaWiki distante.
- Les balises de section ne peuvent pas elles-mêmes être transcluses pour pouvoir agir sur d'autres pages.
{{#lst:}}
and{{#lstx:}}
ne fonctionne que si les balises de section apparaissent directement dans le wikicode de la page transcluse. Cela signifie par exemple que ces balises ne peuvent pas être imbriquées dans un modèle en utilisant les paramètres du modèle et les fonctions d'analyseur. Le mot magique#tag
ne fonctionne pas avec les balises de section. - Depuis 2014, les balises de section n'ont aucun effet lorsqu'elles sont utilisées à l'intérieur d'un paramètre de modèle. Si la page A contient un texte {{B|X}}, il n'y a aucun moyen pour que
{{#lst:A|...}}
puisse atteindre X.
Exemples
- wikisource:user:sanbeg/Includer - ancienne présentation qui décrit quelques fonctionnalités de base.
Voir aussi
- DynamicPageList (tierce partie) inclut une version embarquée de Labeled Section Transclusion un peu modifiée
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |