Module:MainPageSkinSwitch
Documentation for this module may be created at Module:MainPageSkinSwitch/doc
local p = {}
function p.getMainPageContent(frame)
local currentTitle = mw.title.getCurrentTitle()
-- Check if we're on the main page
if currentTitle.isMainPage then
local vectorContent = p.getSkinContent(frame, 'vector')
local citizenContent = p.getSkinContent(frame, 'citizen')
return '<div id="vector-content" class="skin-content">' .. vectorContent .. '</div>' ..
'<div id="citizen-content" class="skin-content" style="display:none;">' .. citizenContent .. '</div>'
else
-- Return empty string or some default content for non-main pages
return ''
end
end
function p.getSkinContent(frame, skin)
local pageName = 'Template:MainPage/' .. skin:gsub("^%l", string.upper)
local page = mw.title.new(pageName)
if not page then
return "Error: Page '" .. pageName .. "' does not exist."
end
local content = page:getContent()
if not content then
return "Error: Unable to retrieve content from '" .. pageName .. "'."
end
return frame:preprocess(content)
end
function p.debugInfo(frame)
local currentTitle = mw.title.getCurrentTitle()
local skin = frame.args[1] or mw.site.stats.skin or 'vector'
if currentTitle.isMainPage then
return "Current skin: " .. skin .. " (Main Page)"
else
return "Not on Main Page"
end
end
return p