eleventy-plugin-time-to-read
Version:
11ty plugin for estimating the time to read a given text. Supports multiple languages
20 lines (19 loc) • 675 B
JavaScript
const defaultOptions = require('./components/options-default.js');
const validateOptions = require('./components/options-validator.js');
const parseOptions = require('./components/options-parser.js');
const measureTime = require('./components/measure-time.js');
module.exports = function(eleventyConfig, customOptions) {
const globalOptions = Object.assign(
{},
defaultOptions,
validateOptions(customOptions)
);
eleventyConfig.addFilter('timeToRead', function(input, ...instanceOptions) {
const options = Object.assign(
{},
globalOptions,
validateOptions(parseOptions(instanceOptions))
);
return measureTime(input, options);
});
}