×
Create a new article
Write your page title here:
We currently have 1,665 articles on The Quelmar Wiki. Type your article name above or click on one of the titles below and start writing!



The Quelmar Wiki

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

-- Module:WordCount
local p = {}

function p.count(frame)
    -- Get the content of the current article
    local content = mw.title.getCurrentTitle():getContent()

    -- Check if content is not nil
    if content == nil then
        return "Article content not available"
    end
    
        -- Replace HTML entities
    content = mw.text.unstrip(content)  -- Unstrip markers
    content = mw.text.killMarkers(content)  -- Remove markers left after unstrip
    content = mw.text.decode(content)  -- Decode HTML entities


    -- Remove comments and some special formatting
    content = content:gsub("%[%[.-|", "") -- Remove wiki links labellink brackets
    content = content:gsub("{{.-}}", "") -- Remove template calls
    content = content:gsub("======", "") -- Remove level 6 headers
    content = content:gsub("=====", "") -- Remove level 5 headers
    content = content:gsub("====", "") -- Remove level 4 headers
    content = content:gsub("===", "") -- Remove level 3 headers
    content = content:gsub("==", "") -- Remove level 2 headers
    content = content:gsub("=", "") -- Remove level 1 headers headers

    -- Count the words
    local _, wordCount = string.gsub(content, "%S+", "")

    -- Return the word count
    return tostring(wordCount) .. " words"
end

return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies. (Hi Margarita's Table. 🇩🇪)
Cookies help us deliver our services. By using our services, you agree to our use of cookies. (Hi Margarita's Table. 🇩🇪)