Kernc 246fd05d44 Have relevant plugins use all_generators_finalized signal 9 éve
..
Readme.md 17efcb10d3 Update readme to clarify behaviour of plugin and specifying a custom image 10 éve
__init__.py 2b37362873 add the plugin to extract representative image for article and assign to an article's property 10 éve
representative_image.py 246fd05d44 Have relevant plugins use all_generators_finalized signal 9 éve
test_representative_image.py c4030d843b Add unit test for custom image 10 éve

Readme.md

Summary

This plugin extracts a representative image (i.e, featured image) from the article's summary or content if not specifed in the metadata.

The plugin also removes any images from the summary after extraction to avoid duplication.

It allows the flexibility on where and how to display the featured image of an article together with its summary in a template page. For example, the article metadata can be displayed in thumbnail format, in which there is a short summary and an image. The layout of the summary and the image can be varied for aesthetical purpose. It doesn't have to depend on article's content format.

Installation

This plugin requires BeautifulSoup.

pip install beautifulsoup4

To enable, add the following to your settings.py:

PLUGIN_PATH = 'path/to/pelican-plugins'
PLUGINS = ["representative_image"]

PLUGIN_PATH can be a path relative to your settings file or an absolute path.

Usage

To override the default behaviour of selecting the first image in the article's summary or content, set the image property the article's metadata to the url of the image to display, e.g:

Title: My super title
Date: 2010-12-03 10:20
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Author: Alexis Metaireau
Summary: Short version for index and feeds
Image: /images/my-super-image.png

Article content...

To include a representative image in a page add the following to the template:

{% if  article.featured_image %}
    <img src="{{ article.featured_image }}">
{% endif %}