Skip to content

pritishvaidya/read-time-estimate

Repository files navigation

read-time-estimate Build Status CodeFactor Maintainability Test Coverage npm version npm downloads

A more accurate Medium like read time estimate with images in progression and Chinese / Japanese / Korean character support.

Features

  • Calculates read time of images in decreasing progression with ability to provide custom image tags (Example - 12 seconds for the first image, 11 for the second, until images counted at 3 seconds)
  • Calculates read time of the Chinese / Japanese / Korean characters separately
  • Removes unwanted html tags to calculate read time more efficiently

Install

$ npm i read-time-estimate --save

Usage

const readTimeEstimate = require('read-time-estimate');

const string = `<img src="test.png"/><div class="wrapper">
    This is a sample read time estimate with 中文/日文/韩文 text </div>`
                
const {
    humanizedDuration, // 'less than a minute'
    duration, // 0.23272727272727273
    totalWords, // 9
    wordTime, // 0.03272727272727273
    totalImages, // 1
    imageTime, //  0.2
    otherLanguageTimeCharacters, // 6
    otherLanguageTime, // 0.012
} = readTimeEstimate(string, 275, 12, 500, ['img', 'Image'])

Input

Variable Defaults Type Description
string required string Input String
customWordTime 275 number Speed of reading the text in Words per Minute
customImageTime 12 number Speed of reading the image in seconds
chineseKoreanReadTime 500 number Speed of reading the Chinese / Korean / Japanese characters in Characters per Minute
imageTags ['img', 'Image'] array Custom Image tags to parse in the input string

Output

Variable Type Description
humanizedDuration string Humanized Duration for the input string
duration number Actual Duration of the input string (in minutes)
totalWords number Number of words in the input string
wordTime number Read Time of the words in the input string (in minutes)
totalImages number Number of images in input string
imageTime number Read Time of the images in the input string (in minutes)
otherLanguageTimeCharacters number Chinese / Japanese / Korean language characters count
otherLanguageTime number Read Time of the Chinese / Japanese / Korean in the input string (in minutes)

Gatsby Plugin

gatsby-read-time-estimate

References

Medium

Contribution

Questions

Feel free to contact me or create an issue