Tech, emailconfirmed, Administrators (Semantic MediaWiki), Curators (Semantic MediaWiki), Administrators
12,451
edits
Bongolium500 (talk | contribs) No edit summary |
Bongolium500 (talk | contribs) No edit summary |
||
(46 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
local h = {} | local h = {} | ||
local MONTHS = {"January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} | local MONTHS = {"January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} | ||
function p.recentReleases(frame) | |||
local args = frame.args | |||
if not args["max"] or args["max"] == "" or not type(tonumber(args["max"])) == "number" then | |||
args["max"] = 8 | |||
end | |||
local outputText = "<div class=\"mainpage-box-recent\">\n" | |||
local done = false | |||
local i = 1 | |||
local side = "left" | |||
while not done do | |||
outputText = outputText .. "<div class=\"recent-release-box\">" .. frame:preprocess(args[i]:gsub("{!%-%-" .. side .. "%-.-%-align%-%-}", ""):gsub("{!%-%-left%-", ""):gsub("{!%-%-right%-", ""):gsub("%-align%-%-}", "")) .. "</div>\n" | |||
if side == "left" then side = "right" else side = "left" end | |||
i = i + 1 | |||
if i > tonumber(args["max"]) then | |||
done = true | |||
elseif args[i] == null or args[i] == "" then | |||
done = true | |||
end | |||
end | |||
outputText = outputText .. "</table></div>" | |||
return outputText | |||
end | |||
function p.releaseModule(frame) | function p.releaseModule(frame) | ||
local PREFIX = "MAINPAGERELEASE-" | local PREFIX = "MAINPAGERELEASE-" | ||
local currentDate = | local currentDate = frame.args[1] | ||
local outputWidget = cache.get(PREFIX .. currentDate) or "" | local outputWidget = cache.get(PREFIX .. currentDate) or "" | ||
Line 15: | Line 39: | ||
local monthName = MONTHS[tonumber(month)] | local monthName = MONTHS[tonumber(month)] | ||
local pageName = day .. " " .. monthName .. " (releases)" | local pageName = day .. " " .. monthName .. " (releases)" | ||
local outputWidget = "<div class=\"mainpage-releases tech\" id=\"releases\"><h2>[[" .. pageName .. "|On this day in...]]</h2 | local outputWidget = "<div class=\"mainpage-releases tech\" id=\"releases\"><h2>[[" .. pageName .. "|On this day in...]]</h2>" | ||
local pageText = frame:callParserFunction('#dpl:', {include='*', title=pageName}):gsub(".*-->", ""):gsub("<!--.*", "") | local pageText = frame:callParserFunction('#dpl:', {include='*', title=pageName}):gsub(".*-->", ""):gsub("<!--.*", "") | ||
local releases = textUtil.split(pageText, "*") | local releases = textUtil.split(pageText, "*") | ||
local | local numToReturn = 0 | ||
if #releases < 5 then numToReturn = #releases else numToReturn = 5 end | |||
local usedNumbers = {} | |||
for count=1, numToReturn do | |||
local ranNum = math.random(1, #releases) | |||
while usedNumbers[ranNum] do | |||
ranNum = math.random(1, #releases) | |||
end | |||
usedNumbers[ranNum] = true | |||
local randomRelease = releases[ranNum] | |||
local temp = textUtil.split(randomRelease, " %- ") | |||
local year = temp[1] | |||
if not string.find(year, "%[%[") then | |||
year = "[[" .. year .. " (releases)|" .. year .. "]]" | |||
end | |||
local text = temp[2] or "" --:gsub([['"`UNIQ--nowiki-00000001-QINU`"']], "\'") | |||
outputWidget = outputWidget .. "\n<h3>..." .. year .."</h3>\n<span>" .. text .. "</span>" | |||
end | |||
cache.set(PREFIX .. currentDate, outputWidget) | outputWidget = outputWidget .. "</div>" | ||
cache.set(PREFIX .. currentDate, outputWidget)--]] | |||
end | end | ||
return outputWidget | |||
end | end | ||
function p.birthdayModule(frame) | function p.birthdayModule(frame) | ||
local PREFIX = "MAINPAGEBIRTHDAY-" | local PREFIX = "MAINPAGEBIRTHDAY-" | ||
local currentDate = | local currentDate = frame.args[1] | ||
local outputWidget = cache.get(PREFIX .. currentDate) or "" | local outputWidget = cache.get(PREFIX .. currentDate) or "" |
edits