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.

1.7 KiB

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