Module:Templatedata fyrir skriftu
Útlit
Þessi skrifta býr til mw:Extension:Templatedata fyrir skriftur þar sem viðbótin gerir það ekki sjálf. Skriftan tekur bara við einu gildi, nafni skriftunnar sem á að búa til TemplateData fyrir. Dæmi:
{{#invoke:Templatedata fyrir skriftu|main|Module:Clade}}
gefur, án <templatedata></templatedata> utanum:
{"params":{"code":{},"state":{},"indent":{},"reverse":{},"newick":{},"footer":{},"style":{},"footerstyle":{},"code2":{},"color":{},"option":{},"newickstring":{},"length":{},"caption":{},"list":{},"captionstyle":{},"thickness":{}}}
local p = {}
function p.main(frame)
local args = frame.args
local argtable = {}
local templatetable = {
params = {
}
}
local example = {}
if string.find(args[1], "Module") == nil then
return ''
end
local text = mw.title.new(args[1]):getContent()
local x = 1
for word in string.gmatch(text, "args%[%'(%w+)%'%]") do
if argtable.word == nil then
templatetable.params[word] = {}
example[x] = word
end
table.insert(argtable, word)
x = x + 1
end
local y = 1
for word in string.gmatch(text, "args%.(%w+)") do
if argtable.word == nil then
templatetable.params[word] = {}
example[y] = word
end
table.insert(argtable, word)
y = y + 1
end
if args[2] == 'dæmi' then
return '{{' .. args[1] .. '\n| ' .. table.concat(example, '= \n| ') .. ' =\n}}'
elseif args[3] == 'demo' then
local jsontemplate = mw.text.jsonEncode(templatetable)
jsontemplate = string.gsub(jsontemplate, "%[%]", "{}")
return jsontemplate
else
local jsontemplate = mw.text.jsonEncode(templatetable)
jsontemplate = string.gsub(jsontemplate, "%[%]", "{}")
return frame:extensionTag("templatedata", jsontemplate)
end
end
return p