Documentation for this module may be created at Module:On This Day/Documentation
local p = {}
local h = {}
local cargo = mw.ext.cargo
local utilsString = require("Module:UtilsString")
function p._Main(frame)
local entry = h.GetEntryForToday()
return h.DisplaySection(entry)
end
function h.GetEntryForToday()
local formattedDate = os.date("%m-%d")
local entries = cargo.query("OnThisDay", "date, title, filename, text, link", {})
local todayEntries = {}
for key, entry in ipairs(entries) do
if string.sub(entry["date"], 6) == formattedDate then
table.insert(todayEntries, entry)
end
end
return todayEntries[1]
end
function h.DisplaySection(entry)
local result = ""
local header = "On this day"
if not utilsString.isEmpty(entry) then
header = header .. ", " .. (os.date("%Y") - tonumber(string.sub(entry["date"], 1, 4))) .. " years ago..."
else
header = header .. "..."
entry = {}
entry["filename"] = "LA Mr. Write Artwork.png"
entry["title"] = "Nothing happened"
entry["text"] = "But you can change that! All it takes is one edit to make history. [[Special:RecentChanges|Zelda Wiki history]], that is.\n* [https://discordapp.com/invite/wJJY8Na4eP Join our Discord]\n* [[Guidelines:Getting Started|Learn how to edit]]\n* [[:Category:Articles Needing Attention|Check out pages needing attention]]"
entry["link"] = "Guidelines:Getting Started"
end
-- desktop version
local desktopVersion = mw.html.create("div")
:addClass("no-mobile infoblock")
:attr("id", "on-this-day")
:node(mw.html.create("div")
:addClass("infoblock-header")
:wikitext(header))
:node(mw.html.create("div")
:addClass("infoblock-content")
:wikitext("[[File:" .. entry["filename"] .. "|right|200x200px]]<span class='infoblock-title'>" .. entry["title"] .. "</span><br>" .. entry["text"]))
:node(mw.html.create("div")
:addClass("infoblock-read-more")
:wikitext(mw.getCurrentFrame():preprocess("<nowiki>[</nowiki>[[" .. entry["link"] .. "|Read more...]]<nowiki>]</nowiki><br><nowiki>[</nowiki>[{{FULLURL:Main Page|action=purge}} Click here to purge the cache]<nowiki>]</nowiki>")))
-- mobile version
local mobileVersion = mw.html.create("div")
:addClass("mobile-only infoblock")
:attr("id", "on-this-day")
:node(mw.html.create("div")
:addClass("infoblock-header")
:wikitext(header))
:node(mw.html.create("div")
:addClass("infoblock-title")
:wikitext(entry["title"]))
:node(mw.html.create("div")
:addClass("infoblock-content")
:wikitext("[[File:" .. entry["filename"] .. "|right|150x150px]]" .. entry["text"]))
:node(mw.html.create("div")
:addClass("infoblock-read-more")
:wikitext(mw.getCurrentFrame():preprocess("<nowiki>[</nowiki>[[" .. entry["link"] .. "|Read more...]]<nowiki>]</nowiki><br><nowiki>[</nowiki>[{{FULLURL:Main Page|action=purge}} Click here to purge the cache]<nowiki>]</nowiki>")))
result = tostring(desktopVersion) .. tostring(mobileVersion)
return result
end
return p