Module:Titletest

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche

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

Éditer cette documentation


--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