Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
From the only original and legitimate Battlestar Wiki: the free-as-in-beer, non-corporate, open-content encyclopedia, analytical reference, and episode guide on all things Battlestar Galactica. Accept neither subpar substitutes nor subpar clones.
Revision as of 16:25, 26 December 2025 by Joe Beaudoin Jr. (talk | contribs) (Created page with "local p = {} function p.getReadingTime(frame) -- Get the content of the current page local title = mw.title.getCurrentTitle() local content = title:getContent() if not content then return "1 min" end -- Strip out some wiki-markup to get a cleaner word count -- This removes HTML comments, category links, and some formatting local cleanContent = content:gsub("<!%-%-.-%-%->", "") :gsub("%[%[Category:.-%]%]",...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:ReadingTime/doc

local p = {}

function p.getReadingTime(frame)
    -- Get the content of the current page
    local title = mw.title.getCurrentTitle()
    local content = title:getContent()
    
    if not content then return "1 min" end

    -- Strip out some wiki-markup to get a cleaner word count
    -- This removes HTML comments, category links, and some formatting
    local cleanContent = content:gsub("<!%-%-.-%-%->", "")
                               :gsub("%[%[Category:.-%]%]", "")
                               :gsub("%[%[File:.-%]%]", "")

    -- Count words (simple whitespace split)
    local _, wordCount = cleanContent:gsub("%S+", "")
    
    -- Average reading speed (200-250 words per minute)
    local wpm = 225
    local minutes = math.ceil(wordCount / wpm)
    
    if minutes < 1 then minutes = 1 end
    
    return minutes .. " min read"
end

return p