local p = {}
local title = mw.title.getCurrentTitle()
-- The point of this module is to keep the [[WP:PEIS]] lower than is possible
-- with nested templates.
local function sizeof(n)
return tonumber(mw.getCurrentFrame():callParserFunction('PAGESIZE', {title.fullText .. '/' .. n, 'R'}))
end
function p.main(frame)
local description = frame.args.description or
frame:getParent().args.description or
title.subpageText:lower()
local as_of = '; data as of ' ..
frame:expandTemplate{ title = title.fullText .. '/1', args = {} } .. '.\n'
if sizeof(2) > 50 then
-- Make a bulleted list of pages
local result = {'Index of ' .. description .. as_of ..
'<ul><li>[[/1|Page 1]]</li><li>[[/2|Page 2]]</li>'}
for i = 3, 50 do
if sizeof(i) > 50 then
result[#result + 1] = '<li>[[/' .. i .. '|Page ' .. i .. ']]</li>'
end
end
result[#result + 1] = '</ul>'
return table.concat(result)
end
-- There's only one page so extract the table from its content.
local content = mw.title.new(title.fullText .. '/1'):getContent()
local wikitable = content:match('{|.*|}')
-- Copy {{static row numbers}} if it's present too
local srn = ""
if content:find("{{static row numbers}}") ~= nil then
srn = "{{static row numbers}}\n"
end
content = frame:getParent():preprocess(srn .. wikitable)
return mw.getContentLanguage():ucfirst(description) .. as_of .. content
end
return p