Module:bac à sable/Hildepont
La documentation pour ce module peut être créée à Module:bac à sable/Hildepont/Documentation
local p = {};
function createLinkRow(link, site)
-- Return some html stylised formated text of link // volé dans le module Auteur de wikisource
local html = mw.html.create('div')
html:tag('span')
:css({['color'] = '#232388', ['font-size'] = '140%', ['line-height'] = '150%'})
:wikitext('[[File:' .. site .. '-logo.svg|12px|alt=logo de ' .. site .. '|link=]] ')
html:wikitext(link)
return html
end
function p.main (frame)
-- Fonction qui génère une boite avec les liens vers d'autres projets wiki depuis un élément wikidata
-- Premier argument = item Wikidata
-- Deuxième argument = texte qui fait référence au contenu
local item = mw.wikibase.getEntity(frame.args[1]) -- permet de récupérer l'item Wikidata
local html = mw.html.create()
-- Code html généré
-- Il faut encore créer un span avec l'id équivalent à la ref wikidata et qui contient le texte de l'argument 2
local x = html:tag('div')
:addClass('boite')
-- Lien Wikisource
if item ~= nil and item:getSitelink('frwikisource') ~= nil then
x:node(createLinkRow('[[s:' .. item:getSitelink('frwikisource') .. '|Wikisource]]', 'Wikisource'))
else
end
-- Lien Wikipedia
if item ~= nil and item:getSitelink('frwiki') ~= nil then
x:node(createLinkRow('[[w:' .. item:getSitelink('frwiki') .. '|Wikipedia]]', 'Wikipedia'))
else
end
-- Lien Wikiquote
if item ~= nil and item:getSitelink('frwikiquote') ~= nil then
x:node(createLinkRow('[[q:' .. item:getSitelink('frwikiquote') .. '|Wikiquote]]', 'Wikiquote'))
else
end
-- Lien Wikidata
x:node(createLinkRow('[[d:' .. frame.args[1] .. '|Wikidata]]', 'Wikidata'))
return tostring(html)
end
return p;