Module:Code de liste décalable
Utilisation
Ce module permet de décaler le code des listes à puces. Il était utilisé dans les modèles {{Liste simple}}, {{Liste horizontale}} et {{Liste verticale-horizontale}}.
Ne pas utiliser : impact sur les performances trop élevé.
Exemple
Il est normalement obligatoire que le code des éléments de la liste soit en début de ligne :
| créateur = {{Liste simple| * [[George Miller (réalisateur australien)|George Miller]] * [[Byron Kennedy]] * James McCausland }} | interprète = {{Liste simple| * [[Mel Gibson]] dans ** ''[[Mad Max]]'' ** ''[[Mad Max 2 : Le Défi]]'' ** ''[[Mad Max : Au-delà du dôme du tonnerre]]'' * [[Tom Hardy]] dans ** ''[[Mad Max: Fury Road]]'' }} | voix = {{Liste simple| * [[Patrick Floersheim]] (VF) dans ** ''Mad Max'' ** ''Mad Max 2 : Le Défi'' * [[Jacques Frantz]] (VF) dans ** ''Mad Max : Au-delà du dôme du tonnerre'' * [[Jérémie Covillault]] (VF) dans ** ''Mad Max: Fury Road'' }} | film = {{Liste simple| * ''[[Mad Max]]'' ([[1979 au cinéma|1979]]) * ''[[Mad Max 2 : Le Défi]]'' ([[1981 au cinéma|1981]]) * ''[[Mad Max : Au-delà du dôme du tonnerre]]'' ([[1985 au cinéma|1985]]) * ''[[Mad Max: Fury Road]]'' ([[2015 au cinéma|2015]]) }}
Avec ce module, il est possible de décaler le code des éléments avec des espaces pour améliorer la lisibilité :
| créateur = {{Liste simple| * [[George Miller (réalisateur australien)|George Miller]] * [[Byron Kennedy]] * James McCausland }} | interprète = {{Liste simple| * [[Mel Gibson]] dans ** ''[[Mad Max]]'' ** ''[[Mad Max 2 : Le Défi]]'' ** ''[[Mad Max : Au-delà du dôme du tonnerre]]'' * [[Tom Hardy]] dans ** ''[[Mad Max: Fury Road]]'' }} | voix = {{Liste simple| * [[Patrick Floersheim]] (VF) dans ** ''Mad Max'' ** ''Mad Max 2 : Le Défi'' * [[Jacques Frantz]] (VF) dans ** ''Mad Max : Au-delà du dôme du tonnerre'' * [[Jérémie Covillault]] (VF) dans ** ''Mad Max: Fury Road'' }} | film = {{Liste simple| * ''[[Mad Max]]'' ([[1979 au cinéma|1979]]) * ''[[Mad Max 2 : Le Défi]]'' ([[1981 au cinéma|1981]]) * ''[[Mad Max : Au-delà du dôme du tonnerre]]'' ([[1985 au cinéma|1985]]) * ''[[Mad Max: Fury Road]]'' ([[2015 au cinéma|2015]]) }}
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- luacheck: no max line length
--[[
Ne pas utiliser : impact sur les performances trop élevé.
--]]
--[[
* la valeur fournie est potentiellement grosse, donc pour les performances on n'effectue pas de mw.text.trim() ici.
Il faut donc faire le trim en nommant le paramètre dans le #invoke.
* On repose sur le fait qu'il ne peut pas y avoir d'espaces avant le premier élément, vu que la valeur a été trimmée.
Ça nous arrange beaucoup, car autrement il aurait fallu ajouter du code spécifique pour le premier élément.
* Aucune concaténation de string n'est effectuée, car cela causerait des copies de la string entière,
vu que les strings en Lua sont immutables (rapport au "string interning").
--]]
local p = {}
function p.main( frame )
local value = frame.args[ 1 ]
-- préfiltrages plaintext (hyper rapides)
if
value:find( '\n ', nil, true )
or value:find( '\t', nil, true ) -- c'est bien "\t" et non "\n\t", c'est pour que ce test qui sera quasiment toujours négatif aille plus vite
then
return ( value:gsub( '\n[ \t]+%*', '\n*' ) )
else
return value
end
end
return p