29 lines
607 B
Lua
29 lines
607 B
Lua
-- counts words in a document
|
|
|
|
words = 0
|
|
|
|
wordcount = {
|
|
Str = function(el)
|
|
-- we don't count a word if it's entirely punctuation:
|
|
if el.text:match("%P") then
|
|
words = words + 1
|
|
end
|
|
end,
|
|
|
|
Code = function(el)
|
|
_,n = el.text:gsub("%S+","")
|
|
words = words + n
|
|
end,
|
|
|
|
CodeBlock = function(el)
|
|
_,n = el.text:gsub("%S+","")
|
|
words = words + n
|
|
end
|
|
}
|
|
|
|
function Pandoc(el)
|
|
-- skip metadata, just count body:
|
|
pandoc.walk_block(pandoc.Div(el.blocks), wordcount)
|
|
print(words .. " words in body")
|
|
os.exit(0)
|
|
end |