diff options
Diffstat (limited to 'filters/wordcount.lua')
| -rw-r--r-- | filters/wordcount.lua | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/filters/wordcount.lua b/filters/wordcount.lua new file mode 100644 index 0000000..587f45d --- /dev/null +++ b/filters/wordcount.lua @@ -0,0 +1,28 @@ +-- 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) + pandoc.walk_block(pandoc.Div(el.blocks), wordcount) + print(words) + os.exit(0) +end |
