readingtime

Estimated Reading Time for Blog Posts, Articles, etc.

License

License

Categories

Categories

Net
GroupId

GroupId

net.thauvin.erik
ArtifactId

ArtifactId

readingtime
Last Version

Last Version

0.9.0
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

readingtime
Estimated Reading Time for Blog Posts, Articles, etc.
Project URL

Project URL

https://github.com/ethauvin/readingtime
Source Code Management

Source Code Management

https://github.com/ethauvin/readingtime

Download readingtime

Dependencies

compile (1)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.30

runtime (1)

Group / Artifact Type Version
org.jsoup : jsoup jar 1.13.1

Project Modules

There are no modules declared in this project.

License (3-Clause BSD) Release Maven Central

Known Vulnerabilities Quality Gate Status Build Status CircleCI

Estimated Reading Time for Blog Posts, Articles, etc.

A simple Kotlin/Java implementation of Medium's Read Time calculation.

Examples (TL;DR)

import net.thauvin.erik.readingtime.ReadingTime

// ...

val rt = ReadingTime(htmlText)
println(rt.calcEstimatedReadTime()) // eg: 2 min read

To get the estimated reading time in seconds use the calcReadingTimeInSec() function.

Properties

The following properties are available:

ReadingTime(
    text = "some_text",
    wpm = 275,
    postfix = "min read",
    plural = "min read",
    excludeImages = false, 
    extra = 0
)
Property Description
text The text to be evaluated.
wpm The words per minute reading average.
postfix The value to be appended to the reading time.
plural The value to be appended if the reading time is more than 1 minute.
excludeImages Images are excluded from the reading time when set.
extra Additional seconds to be added to the total reading time.

Functions

A couple of useful functions are also available:

ReadingTime.wordCount(htmlText) // Returns the count of words. (HTML stripped)
ReadingTime.imgCount(htmlText) // Returns the count of images. (HTML img tags)

JSP

A JSP tag is also available for easy incorporation into web applications:

<%@taglib uri="https://erik.thauvin.net/taglibs/readingtime" prefix="t"%>
<t:readingtime
    wpm="275"
    postfix="min read"
    plural="min read"
    excludeImages="false"
    extra="0">some_text</t:readingtime>

None of the attributes are required.

Gradle, Maven, etc.

To use with Gradle, include the following dependency in your build file:

dependencies {
    implementation("net.thauvin.erik:readingtime:0.9.0")
}

Instructions for using with Maven, Ivy, etc. can be found on Maven Central.

Versions

Version
0.9.0