Module:DidYouKnow

local p = {} local facts = require("Module:DidYouKnow/facts")

local function formatFact(factText) return "* ... that " .. factText .. "?" end

function p.getFacts local s = "" local length = #facts.facts -- Different random seed every day (displays the same set of facts for a day, then a different set the next day, etc.) math.randomseed(math.floor(os.time/(60*60*24))) -- Ensure duplicate facts are not displayed local chosen = {} while #chosen < 8 do		local random = math.random(1, length) local isPresent = false for i, v in ipairs(chosen) do			if v == random then isPresent = true break end end if not isPresent then table.insert(chosen, random) end end -- Now we actually get to write the output. local result = {} for i, v in ipairs(chosen) do		result[i] = formatFact(facts.facts[v]) end return table.concat(result, "\n") end

local function formatFactList(factTable) local facts = factTable.facts local length = #facts local result = {} for i = 1, length do		result[i] = formatFact(facts[i]) end return table.concat(result, "\n") end

-- List all facts. Intended to allow easier debugging. function p.listAllFacts return formatFactList(facts) end

function p.listEditcopyFacts local editcopyFacts = require("Module:DidYouKnow/facts/editcopy") return formatFactList(editcopyFacts) end

return p