Eleventy.js Word Stats Plugin
~368 words, about a 2 min read
This #plugin provides a lightweight wrapper for making available reading-time to the Eleventy Static Site Generator.
Install ¶
npm i @photogabble/eleventy-plugin-word-stats
Configuration ¶
interface Options {
output?: (stats: ReadTimeResults) => string;
wordBound?: (char: string) => boolean;
wordsPerMinute?: number;
}
Output function ¶
The function that controls the wordStats filter output is provided an object that matches the following interface:
interface ReadTimeResults {
text: string;
time: number;
words: number;
minutes: number;
}
Usage ¶
In your Eleventy config file (defaults to .eleventy.js):
module.exports = (eleventyConfig) => {
eleventyConfig.addPlugin(require('@photogabble/eleventy-plugin-word-stats'));
};
Now the wordStats filter will be available to use in your templates. For example with Nunjuck it can be used as such:
<p>___TWIG0___</p>
Which will by default output along the lines of:
<p>1244 words, 6 min read</p>
Not invented here ¶
If all you need is the word count formatted, there are two very good alternatives to this plugin:
License ¶
This 11ty plugin is open-sourced software licensed under the MIT License