Sayfa.ReadingTime (Sayfa v0.5.0)

Copy Markdown View Source

Calculates estimated reading time from HTML content.

Uses an average reading speed of 200 words per minute.

Examples

iex> Sayfa.ReadingTime.calculate("<p>Hello world</p>")
1

Summary

Functions

Calculates reading time in minutes from an HTML string.

Functions

calculate(html)

@spec calculate(String.t()) :: pos_integer()

Calculates reading time in minutes from an HTML string.

Uses words_per_minute from site config (default: 200). Returns at least 1 minute even for very short content.

Examples

iex> Sayfa.ReadingTime.calculate("<p>Hello world</p>")
1

iex> Sayfa.ReadingTime.calculate("")
1

iex> long_text = String.duplicate("word ", 600)
iex> Sayfa.ReadingTime.calculate("<p>" <> long_text <> "</p>")
3