Skip to main content

Support Wikilinks when generating Pelican sites

Project description

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

Summary allows easy, variable length summaries directly embedded into the body of your articles.

PyPI version number Changelog Supported Python version License Download Count

Installation

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

pip install minchin.pelican.plugins.summary

If you are using Pelican 4.5, it should automatically be activated (through my AutoLoader plugin).

If you are using an earlier version of Pelican or autoloading isn’t working, then in your pelicanconf.py file, add Summary to your list of plugins:

PLUGINS = [
    # others...
    'minchin.pelican.plugins.summary',
    # ...
]

You may also need to configure the summary start and end markers (see Configuration below).

Requirements

Summary depends on (and is really only useful with) Pelican; it also depends on semantic-version and minchin.pelican.plugins.autoloader. These can be manually installed with pip (but are automatically installed if the plugin is installed with pip):

pip install pelican semantic-version minchin.pelican.plugins.autoloader

Configuration and Usage

This plugin introduces two new settings: SUMMARY_BEGIN_MARKER and SUMMARY_END_MARKER: strings which can be placed directly into an article to mark the beginning and end of a summary. When found, the standard SUMMARY_MAX_LENGTH setting will be ignored. The markers themselves will also be removed from your articles before they are published. The default values are <!-- PELICAN_BEGIN_SUMMARY --> and <!-- PELICAN_END_SUMMARY -->.

For example:

Title: My super title
Date: 2010-12-03 10:20
Tags: thats, awesome
Category: yeah
Slug: my-super-post
Author: Alexis Metaireau

This is the content of my super blog post.
<!-- PELICAN_END_SUMMARY -->
and this content occurs after the summary.

Here, the summary is taken to be the first line of the post. Because no beginning marker was found, it starts at the top of the body. It is possible to leave out the end marker instead, in which case the summary will start at the beginning marker and continue to the end of the body.

If no beginning or end marker is found, and if SUMMARY_USE_FIRST_PARAGRAPH is enabled in the settings, the summary will be the first paragraph of the post.

The plugin also sets a has_summary attribute on every article. It is True for articles with an explicitly-defined summary, and False otherwise. (It is also False for an article truncated by SUMMARY_MAX_LENGTH.) Your templates can use this e.g. to add a link to the full text at the end of the summary.

ReST example

Inserting the markers into a reStructuredText document makes use of the comment directive, because raw HTML is automatically escaped. The reST equivalent of the above Markdown example looks like this:

My super title
##############

:date: 2010-12-03 10:20
:tags: thats, awesome
:category: yeah
:slug: my-super-post
:author: Alexis Metaireau

This is the content of my super blog post.

.. PELICAN_END_SUMMARY

and this content occurs after the summary.

Pelican 3 Support

The plugin also includes support for Pelican 3, however general support for Pelican 3 is somewhat limited. In particular, Python 3.9 or earlier is needed, and the most recent version dependencies include pelican==3.7.1, jinja2==2.11.3, and markupsafe==1.1.1.

For extra clarity, the plugins to designed to support Pelican 4 as well.

Test Suite

There is an included test suite, available at minchin\pelican\plugins\summary\test_summary.py. The plugin itself doesn’t need to be installed for the suite to run, but the plugin dependencies do need to be installed.

Credits

Original plugin from 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_summary-1.3.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file minchin_pelican_plugins_summary-1.3.0.tar.gz.

File metadata

File hashes

Hashes for minchin_pelican_plugins_summary-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ddd561c76da47db642c12b86c17741e5b2e20e06c74b3051921101e71190e350
MD5 f38ae9d04fd80a1fe1dfc53d799e20ea
BLAKE2b-256 7a488080ec7b67ee3f1311074abcb0f587af66444cbc8add412279b78bf885ff

See more details on using hashes here.

File details

Details for the file minchin.pelican.plugins.summary-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for minchin.pelican.plugins.summary-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e18aff0eaccd67e3ddac1524010f0de7528f05e69778198bde0cc47ebb09b8fa
MD5 0f4ab47fabdea2733dc2942e30a8e514
BLAKE2b-256 787c4a27ea14f9b9944272d07f963a7bbf9b43ea4d79b30346b49e0757e7a698

See more details on using hashes here.

Supported by

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