Modul:grammar-export
Dokumentation för denna modul finns på /dok (redigera), /test
Syfte redigera
Samla export av böjningsformer från mallar genom moduler på ett ställe.
Användning redigera
Se Modul:grammar#Externa skript.
local h3 = require("Modul:h3")
local export = {}
local function getTemplateInfo(tname)
local langcode = ""
local tparts = mw.text.split(tname, "-")
for i,v in ipairs(tparts) do
if h3.hasH3(v) then
return {
lang = langcode,
h3 = v,
modulename = langcode .. "-" .. v
}
else
langcode = langcode .. (langcode == "" and v or "-" .. v)
end
end
end
function export.getJson(frame)
local templatename = frame.args["template"]
if templatename == "g-länk" then
local module = require("Modul:grammar-link")
local lang = frame.args["1"] or ""
local h3 = frame.args["2"] or ""
local type = frame.args["typ"] or "infl"
local text = frame.args["3"]
local list = module.linkExport(text, type, lang, h3)
local typekey = type == "infl" and "infl" or "x_" .. type
local export = {
lang = lang,
h3 = h3,
forms = {
[typekey] = table.concat(list, ", ")
}
}
return mw.text.jsonEncode(export)
else
local info = getTemplateInfo(templatename)
local module = require("Modul:" .. info.modulename)
local json = module.getJson(frame)
return '{"lang":"' .. info.lang
.. '","h3":"' .. info.h3
.. '","forms":' .. json
.. '}'
end
end
return export