Custom plugins for Pelican, used in the Varia website.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mb@mb b061db4239 changing the .py filename 7 years ago
.gitignore Initial commit 7 years ago
LICENSE Initial commit 7 years ago
README.md merged the two readme files 7 years ago
__init__.py roels' flavour 7 years ago
events-ics.py changing the .py filename 7 years ago
events_list.html roels' flavour 7 years ago

README.md

events

modified pelican events plugin Original author: Federico Ceratto federico.ceratto@gmail.com events

This plugin scans blog posts for an events. It also generates an .ical calendar file.

Dependencies

This plugin depends on the icalendar package, which can be installed using APT or RPM or, if you are unlucky, via pip::

pip install icalendar

Usage

Add the following to pelicanconf.py:: PLUGIN_EVENTS = { 'ics_calendars': ['events.ics', 'meetings.ics'], 'default_location' : '', 'calendar_per_category': False }

Create articles and usual and add the "event-start" metadata to turn them into events. The event start is independent of the article "date". "event-start" is in "YYYY-MM-DD hh:mm" format. Also add "event-end", in the same format, or "event-duration" as a number followed by a dimension:

w: weeks d: days h: hours m: minutes s: seconds

You can also add recurring events by setting the 'event-recurring' setting. Use 'daily', 'weekly', 'monthly' or 'yearly'. These will continue untill a set end date in "YYYY-MM-DD hh:mm" format.

Specify an optional "location" or set a default location in pelicanconf.py

Example in ReST format::

:event-start: 2015-01-21 10:30
:event-duration: 2h
:event-recurring: weekly untill 2015-12-21 
:location: somewhere

Calendar per Category: If you set the calendar_per_category setting to True, the plugin will create a calendar for every category you list both in ics_calendar and the article metadata.

To generate an sorted event list in a dedicated page copy the events_list.html template under the templates directory in your theme, then create a page:

content/pages/events_list.rst::

Events list ########### :slug: events-list :summary: :template: events_list