Skip to main content

This Pelcan plugin calculates various statistics about a post and stores them in an article.stats dictionary.

Project description

Post Stats is a plugin for Pelican, a static site generator written in Python.

Post Stats calculates various statistics about a post and store them in an article.stats dictionary:

  • wc: how many words

  • read_mins: how many minutes would it take to read this article, based on 250 wpm (source)

  • word_counts: frquency count of all the words in the article; can be used for tag/word clouds

  • fi: Flesch-Kincaid Index/Reading Ease (more info)

  • fk: Flesch-Kincaid Grade Level

PyPI version number Changelog Supported Python version License Download Count

Installation

The easiest way to install Post Stats is through the use of pip. This will also install the required dependencies automatically.

pip install minchin.pelican.plugins.post_stats

On Pelican versions 4.5 and later, the plugin will automatically activate itself!

You may also need to configure your template to make use of the statistics generated.

Requirements

Post Stats depends on (and is really only useful with) Pelican. The plugin also requries Beautiful Soup 4 to process your content. If the plugin is installed from pip, these will automatically be installed. These can also be manually installed with pip:

pip install pelican
pip install beautifulsoup4

Configuration and Usage

This plugin calculates various statistics about a post and store them in an article.stats dictionary.

Example:

{
    'wc': 2760,
    'fi': '65.94',
    'fk': '7.65',
    'word_counts': Counter({u'to': 98, u'a': 90, u'the': 83, u'of': 50, ...}),
    'read_mins': 12
}

This allows you to output these values in your templates, like this, for example:

<p title="~{{ article.stats['wc'] }} words">~{{ article.stats['read_mins'] }} min read</p>
<ul>
    <li>Flesch-kincaid Index/ Reading Ease: {{ article.stats['fi'] }}</li>
    <li>Flesch-kincaid Grade Level: {{ article.stats['fk'] }}</li>
</ul>

The word_counts variable is a python Counter dictionary and looks something like this, with each unique word and it’s frequency:

Counter({u'to': 98, u'a': 90, u'the': 83, u'of': 50, u'karma': 50, .....

and can be used to create a tag/word cloud for a post.

There are no user-configurable settings.

Credits

Original plugin by Duncan Lock (@dflock) and posted to the Pelican-Plugins repo.

License

The plugin code is assumed to be under the AGPLv3 license (this is the license of the Pelican-Plugins repo).

Project details


Download files

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

Source Distribution

minchin_pelican_plugins_post_stats-1.3.1.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file minchin_pelican_plugins_post_stats-1.3.1.tar.gz.

File metadata

File hashes

Hashes for minchin_pelican_plugins_post_stats-1.3.1.tar.gz
Algorithm Hash digest
SHA256 a60492d123df085694a339910966c60e04bdb6eb2cb920aa8c91d71229bf6c3a
MD5 082bbf0ba6c9125fb92f7792c8110375
BLAKE2b-256 67771360c17454fddd431bfc2ae2238f6181755d68be1474f31155929a329326

See more details on using hashes here.

File details

Details for the file minchin_pelican_plugins_post_stats-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for minchin_pelican_plugins_post_stats-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 159e55c06e28820027363353e6ba11c74896748de81555144c6cb3dcbf70d2d1
MD5 f88502b730fd9334f660e9a06f283e95
BLAKE2b-256 046aaf623eb399ba7ca492df4c8a0ef930f21492aabd048725698f17f8e42c67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page