-- Module:ReadingTime
local p = {}
function p.estimateReadingTime(content)
-- Calculate the reading time based on content length
local words = mw.ustring.gmatch(content, "%S+")
local wordCount = 0
for _ in words do
wordCount = wordCount + 1
end
-- Define the range of reading speeds
local minSpeed = 183
local maxSpeed = 250
-- Calculate reading times for both minimum and maximum speeds
local minReadingTime = math.ceil(wordCount / maxSpeed)
local maxReadingTime = math.ceil(wordCount / minSpeed)
-- Create the reading time string
local readingTime = "Between " .. minReadingTime .. " and " .. maxReadingTime .. " minutes"
return readingTime
end
return p
-- invoke on page with {{#invoke:ReadingTime|estimateReadingTime|{{PAGESIZE:{{PAGENAME}}}}}} ?