Spiderjjr45 (talk | contribs) No edit summary |
Spiderjjr45 (talk | contribs) No edit summary |
||
| Line 16: | Line 16: | ||
content = content:gsub("%[%[", ""):gsub("%]%]", "") -- Remove wiki link brackets |
content = content:gsub("%[%[", ""):gsub("%]%]", "") -- Remove wiki link brackets |
||
content = content:gsub("{{.-}}", "") -- Remove template calls |
content = content:gsub("{{.-}}", "") -- Remove template calls |
||
content = content:gsub("=%s*[^=]+%s*=", "") -- Remove headers |
|||
-- Replace HTML entities |
-- Replace HTML entities |
||
Revision as of 18:38, 24 January 2024
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
-- Remove comments and some special formatting
content = content:gsub("%[%[File:.-|%[%[Image:.-|%[%[Media:.-", "") -- Remove file, image, media
content = content:gsub("%[%[.-|", "") -- Remove wiki links label
content = content:gsub("%[%[", ""):gsub("%]%]", "") -- Remove wiki link brackets
content = content:gsub("{{.-}}", "") -- Remove template calls
content = content:gsub("=%s*[^=]+%s*=", "") -- Remove headers
-- Replace HTML entities
content = mw.text.unstrip(content)
content = mw.text.decode(content)
-- Count the words
local _, wordCount = string.gsub(content, "%S+", "")
-- Return the word count
return tostring(wordCount) .. " words"
end
return p
