Module:POTD transcluder
This module will transclude a POTD template, such as Template:POTD/2025-11-12 or Template:POTD protected/2025-11-12, detecting when that day has multiple pictures and transcluding all of the options. Its primary purpose is to be used in conjunction with a cascade-protected page to ensure that all of the multiple pictures are cascade-protected during the time that the POTD is on the main page, rather than only the one that was randomly chosen the last time the main page was reparsed.
Usage edit source
{{#invoke:POTD transcluder|transclude|POTD template page title}}
local p = {}
function p.transclude( frame )
local page = frame.args[1] or error( 'No page was specified' )
local wikitext = mw.title.new( page ):getContent()
if wikitext == nil then
return '[[:' .. page .. ']] does not exist'
end
local n = string.match( wikitext, '^{{POTD/%d%d%d%d%-%d%d%-%d%d/{{#invoke:random|number|(%d+)}}|{{{1|{{{style|default}}}}}}}}' )
if n == nil then
n = string.match( wikitext, '^{{POTD protected/%d%d%d%d%-%d%d%-%d%d/{{#invoke:random|number|(%d+)}}|{{{1|{{{style|default}}}}}}}}' )
end
if n == nil then
return frame:expandTemplate{ title = page, args = { 'row' } }
end
local t = {}
for i = 1, tonumber( n ) do
t[i] = frame:expandTemplate{ title = page .. '/' .. i, args = { 'row' } }
end
return table.concat( t, "\n" )
end
return p