Modulo:Ŝablono:Kun Lua-modulo
Dokumentado por ĉi tiu modulo povas esti kreata ĉe Modulo:Ŝablono:Kun Lua-modulo/dokumentado
-- modulo por la teksta parto de la ŝablono {{Kun Lua-modulo}}, 2022-05-21
local listoj = require ("Modulo:Listutil")
-- enplektu ŝablonon
local function m (modulo)
local frame = mw.getCurrentFrame()
local r = frame:expandTemplate {
title="Modulo",
args={
modulo
}
}
return r
end
-- por indiko pri ŝablono
local function shablono (nomo)
local frame = mw.getCurrentFrame()
local r = frame:expandTemplate {
title="Ŝ",
args = {
nomo
}
}
return r
end
local function info (subshablono,modulo,parametro,funkcio,detaloj,neunua,dok,dmodulo)
if subshablono ~= "" then
if neunua == "jes" then
t = "<br /><hr />Krome [[" .. subshablono .. "|subŝablono]] de ĉi tiu ŝablono"
else
t = "[[" .. subshablono .. "|Subŝablono]] de ĉi tiu ŝablono"
end
else
if neunua == "jes" then
t = "<br /><hr />Krome ĉi tiu ŝablono"
else
t = "Ĉi tiu ŝablono"
end
end
-- aldoneto
t = t .. " uzas "
if modulo ~= "" then
t = t .. "la [[Lua]]-modulon " .. m(modulo) .. " "
else
t = t .. "[[Lua]]-modulon "
end
local p = ""
if parametro ~= "" then
if parametro == "kelka" or parametro == "kelkaj" then
p = "por kelkaj parametroj."
elseif parametro == "ĉiu" or parametro == "ĉiuj" then
p = "por ĉiuj parametroj."
elseif parametro == "pĉ" then
p = "por preskaŭ ĉiuj parametroj"
elseif parametro == "multaj" then
p = "por multaj parametroj"
else
p = "por la parametro"
local l = listoj._count(",",parametro)
if l > 1 then
p = p .. "j "
else
p = p .. " "
end
local l = listoj._list(",",parametro)
p = p .. " " .. l
end
else
p = "por iu parametro."
end
-- almeto al t
t = t .. p
-- informo pri modulo en la ŝablona dokumentado, se tiu estas uzata
local d = ""
if dok ~= "" and dmodulo ~= "" then
dok = shablono(dok)
dmodulo = m(dmodulo)
d = " Ĝia dokumentado en " .. dok .. " uzas la modulon " .. dmodulo .. "."
end
-- almeto al t
t = t .. d
local f = ""
local f2 = ""
if funkcio ~= "" then
f = " Ĝi uzas la "
local l = listoj._count(",",funkcio)
if l > 1 then
f = f .. "modulajn funkciojn "
f2 = listoj._list(",",funkcio, "", "kaj", "", "", "", "", "''<code>", "</code>''")
f = f .. f2
else
f = f .. "modulan funkcion"
f2 = "''<code>" .. funkcio.. "</code>''"
f = f .. f2
end
-- f = f .. "."
end
-- almeto al t
if neunua == 'jes' then
t = t .. f
else
t = t .. f .. " Vidu ankaŭ [[Vikipedio:Lua]]."
end
if detaloj ~= "" then
t = t .. " kaj " .. detaloj .. "."
-- else
-- t = t .. "."
end
return t
end
local p = {}
function p.chefa (frame)
local subshablono = frame.args['subŝablono'] or ""
local modulo = frame.args['modulo'] or ""
local parametro = frame.args['parametro'] or ""
local funkcio = frame.args['funkcio'] or ""
local detaloj = frame.args['detaloj'] or ""
local dok = frame.args['dokumentado'] or ""
local dmodulo = frame.args['dok-modulo'] or ""
-- ceteraj variabloj
local t = ""
t = info (subshablono,modulo,parametro,funkcio,detaloj,"",dok,dmodulo)
-- aldonaj informoj
local maximum = 7 -- 5 estis tro malgranda
for i=2, maximum do
if frame.args['modulo' .. i] ~= "" and frame.args['modulo' .. i] ~= nil then
local s = frame.args['subŝablono' .. i] or ""
local m = frame.args['modulo' .. i]
local p = frame.args['parametro' .. i] or ""
local f = frame.args['funkcio' .. i] or ""
local d = frame.args['detaloj' .. i] or ""
local dok = frame.args['dokumentado' .. i] or ""
local dmodulo = frame.args['dok-modulo' .. i] or ""
local t2 = info (s,m,p,f,d,"jes",dok,dmodulo)
t = t .. "\n\n" .. t2
end
end
return t
end
function p.teksteto (frame)
local parametro = frame.args['parametro'] or ""
local t = ""
if parametro ~= "" then
-- n - nombro de listeroj
local n = listoj._count(",",parametro)
if n > 1 then
t = "Se vi volas ŝanĝi la koncernajn parametrojn, bonvolu esti tre atentema."
t = t .. "Se vi ne estas sufiĉe sperta pri tia teknikaĵo, vi povas demandi sur la paĝo [[Vikipedio:Lua/Petoj]]."
else
t = "Se vi volas ŝanĝi la "
if parametro == "kelka" or parametro == "kelkaj" or parametro == "multaj" or parametro == "pĉ" or parametro == "ĉiu" or parametro == "ĉiuj" then
t = t .. "koncernajn parametrojn"
else
t = t .. "koncernan parametron"
end
t = t .. ", bonvolu esti tre atentema. Se vi ne estas sufiĉe sperta pri tia teknikaĵo, vi povas demandi sur la paĝo [[Vikipedio:Lua/Petoj]]."
end
else
t = "Se vi volas ŝanĝi la koncernajn parametrojn, bonvolu esti tre atentema."
t = t .. "Se vi ne estas sufiĉe sperta pri tia teknikaĵo, vi povas demandi sur la paĝo [[Vikipedio:Lua/Petoj]]."
end
return t
end
return p