Words planted in:
11ty, status/featured, language/JS and plugin

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

Similar Stories