Skip to content

About

This is a Joomla 6x Content plugin that reads the content of the current active article and shows a brief description on how much time is needed for the visitor to read it

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

PankyReadTime (Joomla 6 Content Plugin)

Requirements: Joomla 6.1+ and PHP 8.3+. Sites on Joomla 5.1–6.0 should stay on 3.2.0.

Version: 4.0.1 Text to Voice fixes for Linux/Ubuntu (see changelog)

Version: 4.0.0 Joomla 6.1+ only (see changelog)

Version: 3.2.0 Added Text to Voice support Set the release for Joomla 6x only

Version: 3.1.0

Security and Joomla 5/6 best-practice update (see changelog).

Version: 3.0.1

Fixed: Route to update channel

Version: 3.0.0

This plugin displays the average reading time for the current article and a scroll progress bar on Joomla 5.x sites. Output is shown only on single article pages (com_content.article).

Features

  • Configurable reading speed (words per minute)
  • Option to show seconds in the estimate
  • Badge position: before content, after title, or after content
  • Badge format: verbose (e.g. "3 minutes, 20 seconds") or compact (e.g. "3m 20s")
  • Optional "Finish by" time (shows when the article will be finished, in the visitor's local time)
  • Optional "Listen to article" button (play/pause/stop) using the browser's built-in text-to-speech, in the page language, with optional highlighting of the word being read. On Linux, the browser needs speech-dispatcher and a voice (e.g. sudo apt install speech-dispatcher espeak-ng)
  • Customizable progress bar (color, height, top/bottom, optional percent label)
  • Fully localized (English/Greek)

Usage

  1. Install via Joomla Extensions → Install (upload the zip or copy to plugins/content/pankyreadingtime and use Discover/Install).
  2. Enable the plugin in the Joomla admin.
  3. Configure options in the plugin settings:
    • Reading speed
    • Show seconds
    • Badge position/format
    • Show finish time
    • Progress bar options
  4. View any article page to see the badge and progress bar.

Example Output

image

Developer Notes

  • Only runs on site frontend and single article context
  • No build step or Composer dependencies
  • Language keys in language/en-GB and language/el-GR
  • Manifest and code version must match for releases

Changelog

4.0.1

  • Fix: the Listen button only appears when the browser has a voice to speak with. On Linux (e.g. Ubuntu) without speech-dispatcher voices, or in snap browsers that can't reach it, it used to show but stay silent
  • Fix: if speech doesn't start within 4 seconds or the browser reports an error, the controls reset and show "Speech isn't available in this browser" instead of staying on "Pause"
  • Fix: work around Chrome sometimes dropping speech that starts right after a stop
  • Author and maintainer details now point to Joomlaboratory

4.0.0

  • Requires Joomla 6.1+ and PHP 8.3+; Joomla 5.x and 6.0 are no longer supported
  • Uses the Joomla 6.1 plugin constructor (no dispatcher argument), removing the deprecation notice on 6.1+
  • Update server moved to https://joomlaboratory.com/updates_7.xml; changelog at https://joomlaboratory.com/changelog_7.xml

3.2.0

  • Added "Listen to article" (browser text-to-speech) with optional word highlighting

3.1.0

  • Security: progress bar colour is validated (colour picker + server-side check) and all output is escaped
  • Inline script/styles moved to Web Asset Manager files under media/plg_content_pankyreadingtime (CSP-friendly)
  • Fix: update server now offers updates to every Joomla 5.1+ and 6.x version
  • Fix: more accurate word count (words across tags, non-breaking spaces, script/style content)
  • Fix: "Finish by" uses the visitor's local time and is no longer frozen by page caching
  • Uses Joomla 5+ typed content events; proper plural language strings
  • Badge time element uses class pankyreadingtime-estimate instead of the generic id="time"

3.0.0

  • Restrict output to single article view
  • Remove unused visibility toggles
  • Add badge position, format, finish time, and progress bar options
  • Language file cleanup and new keys

About

This is a Joomla 6x Content plugin that reads the content of the current active article and shows a brief description on how much time is needed for the visitor to read it

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages