Module:ListSubpages
Appearance
Documentation for this module may be created at Module:ListSubpages/doc
local p = {} --p stands for package
function p.list( frame )
local page = frame.args[1] or frame.args['page'] or tostring(mw.title.getCurrentTitle())
-- empty parameter check
if page == '' then page = tostring(mw.title.getCurrentTitle()) end
-- get parent page name
page = frame:callParserFunction('TOPLEVELPAGE', {page})
-- get subpages
local allSubpages = frame:callParserFunction('SUBPAGES', { page, sep = ",,,,,,,,,," })
allSubpages = mw.text.split(allSubpages, ",,,,,,,,,,", true)
local result = {}
-- add main page
result[#result+1] = [==[<div style="display:inline-block; position: relative; background-color: #d97308; width: 80px; color:white; text-align: center; padding:5px; border-radius: 5px; margin-right: 5px; ">[[]==]
result[#result+1] = page
result[#result+1] = [==[|<span style="color:white;">Main</span>]]</div>]==]
-- add subpages
if #allSubpages[1] > 0 then for i = 1, #allSubpages do
result[#result+1] = [==[<div style="display:inline-block; position: relative; background-color: #d97308; width: 80px; color:white; text-align: center; padding:5px; border-radius: 5px; margin-right: 5px; ">[[]==]
result[#result+1] = allSubpages[i]
result[#result+1] = [==[|<span style="color:white;">]==]
result[#result+1] = frame:callParserFunction('SUBPAGENAME', {allSubpages[i]})
result[#result+1] = '</span>]]</div>'
end end
return table.concat(result)
end
return p