Create a new article
Write your page title here:
We currently have 230 articles on Farthest Frontier. Type your article name above or create one of the articles listed here!

    Farthest Frontier

    Fetches usage data for highly-transcluded templates. Uses bot-updated values from subpages of Module:Transclusion_count/data/ when available.


    {{#invoke:Transclusion count|fetch|number of transclusions|use + notation|all-pages=|demo=}}

    • number of transclusions: is a static number of times the template has been transcluded, to use when values cannot be read from the database. This value will be ignored if transclusion data is available for the current page.
    • demo=Template_name: will use the transclusion count for the template at Template:Template_name instead of detecting what template it is being used on. Capitalization must exactly match the value used in Special:PrefixIndex/Module:Transclusion_count/data/.

    {{#invoke:Transclusion count|tabulate}}


    • The number of transclusion count is generated via subpages of Module:Transclusion count/data when is avaliable and is automatically updated via a bot.

    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)
    	-- 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/' .. (mw.ustring.find(index, "%a") and index or "other"))) 
    			if status then
    				return_value = tonumber(data[mw.ustring.gsub(template, " ", "_")])
    	-- 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'))
    	return return_value	
    -- Tabulate this data for [[Wikipedia:Database reports/Templates transcluded on the most pages]]
    function p.tabulate(frame)
    	local list = {}
    	for i = 65, 91 do
    		local data = mw.loadData('Module:Transclusion count/data/' .. ((i == 91) and 'other' or string.char(i)))
    		for name, count in pairs(data) do
    			table.insert(list, {mw.title.new(name, "Template").fullText, count})	
    	table.sort(list, function(a, b)
    		return (a[2] == b[2]) and (a[1] < b[1]) or (a[2] > b[2])
    	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]))
    	return table.concat(list)
    return p
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.