Module:Title
Ce module sert d'exemple dans la leçon Initiation au Lua avec Scribunto. son utilisation est décrite en détail dans celle-ci et, par conséquent, ce module ne doit pas être modifié sans tenir compte de la leçon.
local p = {}
function p.creation(frame)
local reponse = ""
local title = mw.title.makeTitle(frame.args[1],frame.args[2])
reponse = reponse.."<br />Le titre de la page dont on vient de créer l’objet Title est : "..title.prefixedText
return reponse
end
function p.visualisation(frame)
title = mw.title.new(frame.args[1])
reponse = ""
for index, objet in pairs(title) do
reponse = reponse.."<br />À la clé '''"..index.."''', on trouve un objet de type : "..type(objet)
end
return reponse
end
function p.redirection(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.Redirect then
return "<br />La page '''[["..page.."]]''' est une redirection."
else
return "<br />La page '''[["..page.."]]''' n’est pas une redirection."
end
end
function p.titre()
local titr = mw.title.getCurrentTitle()
return "Le titre de cette page est : "..titr.text
end
function p.discussion(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.isTalkPage then
return "<br />La page '''"..page.."''' est une page de discussion."
else
return "<br />La page '''"..page.."''' n’est pas une page de discussion."
end
end
function p.existe(frame)
local reponse = ""
local page = frame.args[1]
local title = mw.title.new(page)
if title then
reponse = reponse.."L'objet title existe "
else
reponse = reponse.."L'objet title n'existe pas "
end
if title.exists then
reponse = reponse.."et la page existe. "
else
reponse = reponse.."et la page n'existe pas. "
end
return reponse
end
function p.discute(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.canTalk then
return "<br />La page '''"..page.."''' peut avoir une page de discussion."
else
return "<br />La page '''"..page.."''' ne peut pas avoir une page de discussion."
end
end
function p.mot(frame)
local mot = frame.args[1]
local page = "Statique/Présentation de la leçon"
local title = mw.title.new(page)
local texte = title.getContent(title)
local position = mw.ustring.find(texte,mot)
if position then
return "Le mot "..mot.." a été trouvé en position "..position
else
return "Le mot "..mot.." n'a pas été trouvé dans la page"
end
end
function p.souspage(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.isSubpage then
return "<br />La page '''"..page.."''' est une sous-page."
else
return "<br />La page '''"..page.."''' n’est pas une sous-page."
end
end
function p.special(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.isSpecialPage then
return "<br />La page '''"..page.."''' est une page spéciale."
else
return "<br />La page '''"..page.."''' n’est pas une page spéciale."
end
end
function p.basepagetitle(frame)
local reponse = ""
local page = frame.args[1]
local title = mw.title.new(page)
local titlebase = title.basePageTitle
reponse = reponse.."<br />Le premier objet title concerne la page : "..title.prefixedText
reponse = reponse.."<br />Le deuxième objet title concerne la page : "..titlebase.prefixedText
return reponse
end
function p.base(frame)
local reponse = ""
local page = frame.args[1]
local title = mw.title.new(page)
reponse = reponse.."Pour la page : '''"..page.."''', ''title.baseText'' nous donne : '''"..title.baseText.."'''."
return reponse
end
function p.locale(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.isLocal then
return "<br />La page '''"..page.."''' est locale au projet."
else
return "<br />La page '''"..page.."''' n’est pas locale au projet."
end
end
function p.identifiant(frame)
local reponse = ""
local page = frame.args[1]
local title = mw.title.new(page)
if title.exists then
reponse = reponse.."La page existe. "
else
reponse = reponse.."La page n'existe pas. "
end
reponse = reponse.."L'identifiant de la page est "..title.id
return reponse
end
function p.subpage(frame)
local reponse = ""
local page = frame.args[1]
local title = mw.title.new(page)
reponse = reponse.."Pour la page : '''"..page.."''', ''title.subpageText'' nous donne : '''"..title.subpageText.."'''."
return reponse
end
function p.contenu(frame)
local page = frame.args[1]
local title = mw.title.new(page)
if title.isContentPage then
return "<br />La page '''"..page.."''' est une page de contenu."
else
return "<br />La page '''"..page.."''' n’est pas une page de contenu."
end
end
function p.num_espace(frame)
local page = frame.args[1]
local title = mw.title.new(frame.args[1])
return "<br />La page '''"..page.."''' se trouve dans l'espace de numéro : ".. title.namespace
end
return p