Module:Liens bases

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[créer] [purger]
local m_bases = require("Module:Bases/Bac à sable")

local function generer_bases(frame, items_lien)
	local items_bases = m_bases.tout_comme_table(frame)
	for _, v in ipairs(items_bases) do 
    	table.insert(items_lien, v)
	end
table.insert(items_lien, v)
end

local modeles = {
	"Site_officiel",
	{"Bases", generer_bases},
	"Dictionnaires",
	"Autorité"
}

local p={}

local function bases_a_ne_pas_afficher(args)
	local pas_aff={}
	for k, v in ipairs(args) do
		if v=="-" then
			table.insert(pas_aff,mw.ustring.lower(args))
		end
	end
end


p.bases = function(frame)
	local ne_pas_afficher = bases_a_ne_pas_afficher(frame:getParent().args)
	local items = {}
	for _, base in pairs(modeles) do
		if type(base)=="table" then
			base[2](frame, items)
		else
			local res = frame:expandTemplate{title=base,args={}} 
			if res and type(res) == "string" and res ~= '' then
				local chaine_decodee=""
				for codepoint in mw.ustring.gcodepoint( res ) do
    				chaine_decodee=chaine_decodee .. tostring(codepoint) .."|"
				end
				table.insert(items, chaine_decodee)
				table.insert(items, base .. res .. "end" .. string.len(res) )
			end
		end
	end
	if #items > 0 then
		local list = mw.html.create("ul")
		for _, item in ipairs(items) do
			list:tag("li")
				:addClass("liens_bases")
			    :wikitext(item)
			    :done()
		end
		return(tostring(list))
	end
end

return p