Présentation
Ce projet coordonne les efforts des développeursLua pour créer de nouveaux modèles utilisant l'extension Scribunto déployée le 18 février 2013 sur la version francophone de Wikipédia.
Cette page n'est pas encore complète,n'hésitez pas à l'améliorer ! C'est simple et facile.
Scribunto permet de générer du contenu automatisé (wikicode), en langage de programmationLua, en remplacement ou au sein desmodèles deMediaWiki.
Les modèles utilisent lesfonctions d'analyse syntaxique pour effectuer des traitements complexes (gestion de paramètres, conditions, etc.). Cependant ces derniers posent de nombreux problèmes d'efficacité et de lisibilité, rendant plus difficile l'édition et la création de modèles. De plus les modèles complexes incluent des modèles qui incluent des modèles qui… ce qui a un impact très fort sur les performances.
Lua permet de rendre ces traitements plus lisibles, plus compacts, plus légers (au niveau des serveurs) et plus puissants.
En pratique rien du tout ! Le consensus est de ne pas appeler directement des modules depuis l'espace encyclopédique. Ainsi dans les articles il n'y a que des appels de modèles et ce sont des modèles qui font appel aux modules.
Attention ! Les documentationsTemplateData devraient toujours être renseignées pour les modèles ayant des paramètres. Cela est encore plus vrai pour les modèles sollicitant des modules. En effet, contrairement à un modèle classique qui a des paramètres nommés ou numérotés (par exemple{{{1}}}
) explicites, un modèle sollicitant un module peut lui passer des paramètres "implicites" n'apparaissant pas dans le wikicode du modèle.Renseigner le TemplateData du modèle est donc indispensable, tant pour indiquer au lecteur de la documentation les paramètres existants que pour permettre au formulaire d'insertion des modèles de l'Éditeur visuel de disposer de la liste exhaustive des paramètres valides.
mw.title
possèdent désormais une propriétécategories
retournant un tableau des catégories d'une page. Cette propriété est considérée coûteuse (voirphab:T50175 etgerrit:919459).returnrequire[[Module:Foo]]
et le renommage de module laisse désormais une redirection automatique (voirphab:T120794 etgerrit:574086).mw.loadJsonData()
, qui permet de charger des données depuis un fichier json, à la différence àmw.loadData()
qui les charge depuis une table lua (voirphab:T217500 etgerrit:833990).Voir aussila liste des modules en langage lua.