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 Gadget Gadget talk 2301
2302 Gadget definition Gadget definition talk 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óduloEditar

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 argumentosEditar

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 WikipediaEditar

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 entradasEditar

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 wikiEditar

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 modelosEditar

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.

Véxase taménEditar

Outros artigosEditar