Module:On This Day

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. Zelda Wiki history, that is.\n* Join our Discord\n* Learn how to edit\n* 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(" " .. entry["title"] .. " " .. entry["text"])) :node(mw.html.create("div")			:addClass("infoblock-read-more")			:wikitext(mw.getCurrentFrame:preprocess(" [ Read more... ]  [ [ Click here to purge the cache] ] "))) -- 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("" .. entry["text"])) :node(mw.html.create("div")			:addClass("infoblock-read-more")			:wikitext(mw.getCurrentFrame:preprocess(" [ Read more... ]  [ [ Click here to purge the cache] ] "))) result = tostring(desktopVersion) .. tostring(mobileVersion) return result end

return p