Wikipedia:Módulos
Espazos de nomes da Wikipedia | |||
---|---|---|---|
Espazos de nomes básicos | Espazos de nomes conversa | ||
0 | Principal (ou Artigo) | Conversa | 1 |
2 | Usuario | Conversa usuario | 3 |
4 | Wikipedia | Conversa Wikipedia | 5 |
6 | Ficheiro | Conversa ficheiro | 7 |
8 | MediaWiki | Conversa MediaWiki | 9 |
10 | Modelo | Conversa modelo | 11 |
12 | Axuda | Conversa axuda | 13 |
14 | Categoría | Conversa categoría | 15 |
100 | Portal | Conversa portal | 101 |
102 | Libro | Conversa libro | 103 |
828 | Módulo | Conversa módulo | 829 |
2300 | [[Wikipedia:Trebellos|]] | 2301 | |
2302 | [[Wikipedia:Trebellos|]] | 2303 | |
2600 | |||
Espazos de nomes virtuais | |||
-1 | Especial | ||
-2 | Media |
O espazo de nomes Módulo contén o código fonte das páxinas que utilizan a linguaxe de programación Lua, que pode empregarse na Galipedia a través da Extensión Mediawiki Scribunto. O código Lua pode usarse en modelos wiki empregando a funcionalidade "{{#invoke:}}" desta extensión Scribunto.
Executar un módulo
[editar a fonte]Os módulos executanse noutras páxinas da Wikipedia usando a función #invoke. A sintaxe de #invoke é semellante á sintaxe dos modelos, pero con algunhas diferenzas. A máis inportante destas diferenzas é que se necesita especificar o nome da función. Unha función é un conxunto de instrucións que toma unha serie de valores de entrada, procésaos, e devolve un valor de saída.
Non se pode executar un módulo Lua directamente, só se pode empregar unha das funcións do módulo. O módulo é so un contedor para as funcións, e non fai nada por si mesmo.
A forma máis sinxela de usar un módulo dende outra páxina da wiki é:
{{#invoke:nome do módulo|nome da función}}
Empregando argumentos
[editar a fonte]Os argumentos pásanse aos módulos da mesma forma que se fai para os modelos. Porén, nas chamadas módulos o primeiro valor que segue á primeira barra vertical (|) sempre é o nome da función que se está a chamar. O primeiro argumento posicional sempre se coloca tras a segunda barra vertical.
{{#invoke:nome do módulo|nome da función|primeiro argumento|segundo argumento|argumento con nome = valor}}
Os módulos deben ter unha páxina de documentación que explique que argumentos se poden empregar e os efectos que terá cada un deles.
Características específicas na Wikipedia
[editar a fonte]Lua só pode recibir entradas de valores en forma de cadeas de texto nas chamadas {{#invoke:}}
e nos valores retornados por mw.title.new(...):getContent() e frame:expandTemplate(). As saídas devoltas por Lua non serán pre-procesadas agás que se faga unha chamada explícita á frame:preprocess().
Limitacións nas entradas
[editar a fonte]O código Lua en Scribunto só se executa cando a páxina é recalculada. Polo tanto, a única forma de entrada de valores que pode recibir é mediante a edición de páxina, non é interactiva.
As entradas que pode recibir Lua son polo tanto calquera das páxinas da Wikipedia que se poden transcluír noutras. Isto non inclúe páxinas de ficheiros, a lista das páxinas incluídas nunha categoría, ou o contido das páxinas especiais.
Texto wiki
[editar a fonte]As ligazóns wiki do tipo [[Wikipedia:Axuda|]] non funcionarán se se indican coma unha saída do módulo. Deben escribirse de forma explícita coma [[Wikipedia:Axuda|Axuda]]. Outras transformacións, coma substituír ~~~~
cunha sinatura, non serán procesadas correctamente.
Etiquetar os modelos
[editar a fonte]Por favor, inserta o código {{ModeloLua|Módulo:Nome1|Módulo:Nome2|...}}
na sub-páxina de documentación dos modelos que usan módulos Lua.