MarkupiCalendar by ffub

A module that acts as a wrapper for creating iCalendar feeds using the iCalcreator library.

Given a PageArray of pages, this module will render an iCalendar feed from them. This is intended to be used directly from a template file. See usage below.

The module uses the excellent iCalcreator library from for creating the ICS feed itself and as such mostly just acts as a simple wrapper.


$ics = $modules->get("MarkupiCalendar"); 
$ics->title = "Upcoming Events";
$ics->description = "Some upcoming events";
$ics->itemStartDateField = 'date';
$today = time();
$items = $pages->find("template=event, limit=30, sort=date, date>$today");

Runtime options

'title' => 'Untitled iCal Feed',
'url' => '',
'description' => '',
'itemSummaryField' => 'title',
'itemDescriptionField' => 'summary',
'itemLocationField' => false,
'itemStartDateField' => 'created',
'itemEndDateField' => false,
'feedPages' => array(),
'timezone' => false

Copyright (C) 2011 by Stephen Tomlinson
This module is licensed under Apache License v2.0, see LICENSE.TXT within the module folder.
The iCalcreator library is copyright (c) 2007-2011 Kjell-Inge Gustafsson and licensed under the LPGL.

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • Adding custom actions to ProcessWire image fields in the admin, part of this week’s dev branch additions: More
    27 January 2023
  • ProcessWire 3.0.210 new main/master version released— More
    6 January 2023
  • ProcessWire 3.0.209: Core updates and an interesting AI that knows ProcessWire– More
    30 December 2022

Latest news

  • ProcessWire Weekly #456
    The 456th issue of ProcessWire Weekly covers latest core updates, introduces a new third party module called TextformatterRockDown, and more. Read on! / 4 February 2023
  • ProcessWire 3.0.210 new main/master version
    140 commits, 55 resolved issues, dozens of new features, eight contributors, and five new pull requests make yet another great new version of ProcessWire.
    Blog / 6 January 2023
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH