Skip to content

Latest commit

 

History

History

metalsmith-reading-time

metalsmith-reading-time

npm: version npm: downloads

Snyk: vulnerabilities codecov: coverage license

A Metalsmith plugin to estimate pages' reading times.

Installation

npm install --save metalsmith-reading-time

JavaScript Usage

import Metalsmith from 'metalsmith';
import readingTime from 'metalsmith-reading-time';

Metalsmith(__dirname)
    .use(readingTime({
        // options here
    }))
    .build((err) => {
        if (err) {
            throw err;
        }
    });

File metadata

This plugin adds a metadata field named readingTime to each file which can be used with templating engines, such as with handlebars:

Reading time: {{ readingTime }}

The rest of the page content.

Reading time will be reported in minutes in the form "# min read" per reading-time.

Options

pattern (optional)

Type: string Default: "**/*"

A micromatch glob pattern to find input files.

stripHtml (optional)

Type: boolean Default: true

Whether to strip HTML tags from content before evaluating the reading time or not.

replacements (optional)

type: [string | RegExp, string][] Default: []

A list of tuples fed to String.replace() to get rid of meaningless content before evaluating the reading time.

readingTime (optional)

Type: object Default: {}

An object of reading-time options, example:

{
  "readingTime": {
    "wordsPerMinute": 200
  }
}

Changelog

Changelog