Modul:Transclusion count
![]() | Dette Lua-modul bruges på ca. 2.600 sider, og derfor vil ændringer blive bemærket af mange. Vær venlig at afprøve enhver ændring i modulets /sandkasse eller /test-undersider, eller i din egen module sandkasse. Du bør også overveje at diskutere ændringer på diskussionssiden før du implementerer dem. |
Henter brugsdata for megetbrugte skabeloner. Bruger bot-opdateret værdier fra underside af Modul:Transclusion_count/data, når den er tilstede.
Brug
{{#invoke:Transclusion count|fetch|number of transclusions|use + notation|all-pages=|demo=}}
antal af brug
: er en statisk antal af gange skabelonen er blevet brugt, til brug, når værdien ikke kan læses fra databasen. Den værdi vil blive ignoreret hvis antal brug er tilsted for den aktuelle side.demo=Skabelonnavn
: vil bruge antal brug for den skabelon som er angivet i stedet for den skabelon, som den bruges af. Angivelse må være det samme værdi, som bruges i Modul:Transclusion_count/data.
{{#invoke:Transclusion count|tabulate}}
- Bruges til at danne Wikipedia:Database rapporter/Skabeloner, som bruges på flest sider.
Noter
- Antal brug dannes ud fra Modul:Transclusion count/data når det er tilsted og bliver automatisk opdateret af en bot.
{{#invoke:Transclusion count|function_name}}
Dokumentationen ovenfor er transkluderet fra Modul:Transclusion count/dok. (redigér | historik) Brugere kan eksperimentere i dette moduls undersider sandkasse (opret | kopiér) og testcases (opret). Undersider til dette modul. |
local p = {}
function p.fetch(frame)
local template = nil
local return_value = nil
-- Use demo parameter if it exists, otherswise use current template name
local namespace = mw.title.getCurrentTitle().namespace
if frame.args["demo"] and frame.args["demo"] ~= "" then
template = frame.args["demo"]
elseif namespace == 10 then -- Template namespace
template = mw.title.getCurrentTitle().text
elseif namespace == 828 then -- Module namespace
template = (mw.site.namespaces[828].name .. ":" .. mw.title.getCurrentTitle().text)
end
-- If in template or module namespace, look up count in /data
if template ~= nil then
namespace = mw.title.new(template, "Template").namespace
if namespace == 10 or namespace == 828 then
template = mw.ustring.gsub(template, "/doc$", "") -- strip /doc from end
local index = mw.ustring.sub(mw.title.new(template).text,1,1)
local status, data = pcall(function ()
return(mw.loadData('Module:Transclusion_count/data'))
end)
if status then
return_value = tonumber(data[mw.ustring.gsub(template, " ", "_")])
end
end
end
-- If database value doesn't exist, use value passed to template
if return_value == nil and frame.args[1] ~= nil then
local arg1=mw.ustring.match(frame.args[1], '[%d,]+')
if arg1 and arg1 ~= '' then
return_value = tonumber(frame:callParserFunction('formatnum', arg1, 'R'))
end
end
return return_value
end
-- Tabulate this data for [[Wikipedia:Database reports/Templates transcluded on the most pages]]
function p.tabulate(frame)
local list = {}
local data = mw.loadData('Module:Transclusion count/data')
for name, count in pairs(data) do
table.insert(list, {mw.title.new(name, "Template").fullText, count})
end
table.sort(list, function(a, b)
return (a[2] == b[2]) and (a[1] < b[1]) or (a[2] > b[2])
end)
local lang = mw.getContentLanguage();
for i = 1, #list do
list[i] = ('|-\n| %d || [[%s]] || %s\n'):format(i, list[i][1]:gsub('_', ' '), lang:formatNum(list[i][2]))
end
return table.concat(list)
end
return p