Module:Titletest
La proposition est d'étudier les propriétés de l’objet title.
- La fonction mytitle retourne le titre de la page qui invoque le module.
- La fonction titleprop édite le contenu de la table obtenue avec
mw.title.new
, qui contient tous les objets du titre.title.new
nécessite deux arguments, dans l’ordre le titre de la page puis son espace de nom. - La fonction content retourne le contenu de la page via son titre. On observe que le Wikitexte est interprété en Html, pas les modules ni les modèles (cf. expandTemplate).
Title, une démonstration complète en anglais
--Tests relatifs à la fonction mw.title Lua-Scribuntu
local maVariable = {} -- On peut choisir un nom plus court
function maVariable.mytitle(frame) -- Retourne le titre
myTitle = mw.title.getCurrentTitle() -- de la page courante
return myTitle -- c-a-d celle qui appel le module
end
function maVariable.titleprop(frame) --Explore les propriétés relatives au titre d'une page
--[[ Créé un objet frame de type table à partir du nom de page et de l'espace de nom
passés en variable en variable via mots-clés par le modèle. La fonction mw.title.new
est gourmande en ressources, elle contient les sous-fonctions.]]--
title = mw.title.new(frame.args[1], frame.args[2])
pageName = frame.args[1] --??
reponse = "" -- initialise une chaine texte pour la réponse
--[[ Pour chaque élement de l’objet frame, affiche le nom du paramêtre, son type, la valeur associée quand son type le permet.]]
for prop, objet in pairs(title) do
reponse = reponse.."<br />Mot-clé '''"..prop.."''' : "..type(objet)..' : '
if type(objet) == 'number' then reponse = reponse.." avec com valeur: '''"..objet.."'''" end
if type(objet) == 'string' then reponse = reponse.." avec com valeur: "..objet end
if type(objet) == 'boolean' then if objet == true then reponse = reponse.." avec com valeur: '''VRAI'''" else reponse = reponse.." avec com valeur: '''FAUX'''"end end
if type(objet) == 'table' then reponse = reponse end
if type(objet) == 'function' then reponse = reponse end
end
local furl = title:fullUrl() --On calcul l'url complète
return reponse, furl --On retourne deux résultats
end
function maVariable.content(frame)
--[[getContent, retourne le contenu non interprété de la page, ou nil
si elle n'existe pas (mais pour transclure ses modèles utiliser
frame:expandTemplate{ title = ':' .. nom_de_page }]]--
mytitle = 'Portugais/Vocabulaire/Index/vcb-Article' --Nous souhaitons lire cette page
objtitle = mw.title.makeTitle( 0, mytitle ) --objet title avec espace de nom et titre
getcont = objtitle:getContent() --contenu de la page via la propriété getContent de l’objet title
return getcont --[[ le wikitext est interprété en Html
les {{#Invoke:Module ne sont pas interprétés, les modèles non-plus.]]--
end
return maVariable