plugins-custom/events-ics
2018-02-01 14:58:28 +01:00
..
__init__.py placing the events-ics in the plugins-custom repo 2018-02-01 14:21:09 +01:00
events_list.html placing the events-ics in the plugins-custom repo 2018-02-01 14:21:09 +01:00
events.py renaming files 2018-02-01 14:58:28 +01:00
LICENSE placing the events-ics in the plugins-custom repo 2018-02-01 14:21:09 +01:00
README.md placing the events-ics in the plugins-custom repo 2018-02-01 14:21:09 +01:00

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