Skip to main content

Plugin for Pelican that computes average read time.

Project description

Plugin for Pelican that computes read time based on Medium’s readtime “algorithm”.

It adds a readtime and readtime_string attributes to every Articles and/or Pages, with the time estimation for reading the article.

Setting Up

Adding ‘ReadTime’ to the list of plugins:

In pelicanconf.py:

PLUGINS = [
    ... ,
    'readtime'
]

1. Words Per Minute Only

In your settings you would use assign the READTIME_WPM variable to an integer like so:

In pelicanconf.py:

READTIME_WPM = 180

Every article’s read time would be calculated using this average words per minute count. (See the Usage section for how to use the calculated read times in templates). This is the simplest read time method.

2. Words Per Minute per language

This is the preferred method if you are dealing with multiple languages. Take a look at the following settings

In pelicanconf.py:

READTIME_WPM = {
    'default': {
        'wpm': 200,
        'min_singular': 'minute',
        'min_plural': 'minutes'
    },
    'es': {
        'wpm': 220,
        'min_singular': 'minuto',
        'min_plural': 'minutos'
    }
}

In this example the default reading time for all articles is 200 words per minute. Any articles in spanish will be calculated at 220 wpm. This is useful for information dense languages where the read time varies rapidly.

Chances are the average reading time will not vary rapidly from language to language, however using this method also allows you to set plurals which make templating easier in the long run.

Usage

Two variables are accessible through the read time plugin, read_time and read_time_string

{% if article.readtime %} This article takes {{article.readtime}} minute(s) to read.{% endif %}
// This article takes 4 minute(s) to read
{% if article.readtime_string %} This article takes {{article.readtime_string}} to read.{% endif %}
// This article takes 4 minutes to read

Disclaimer

This repository is reworked plugin which integrates some of the best of two existing plugins:

The objective was to fix a few issues and to improve (from my point of view) the overall behavior.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pelican-readtime, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size pelican-readtime-0.1.6.tar.gz (3.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page