[[!template id=plugin name=calendar author="[[ManojSrivastava]]"]]
[[!tag type/widget]]

This plugin provides a [[ikiwiki/directive/calendar]] [[ikiwiki/directive]].
The directive displays a calendar, similar to the typical calendars shown on
some blogs. 

The [[ikiwiki-calendar]] command is used to force generating year and month
pages from templates (overriding the existing ones).

## Setup options

* `archivebase` - Default value for [[ikiwiki/directive/calendar]] directive
  option of the same name.
* `archive_pagespec` - [[ikiwiki/PageSpec]] of pages to include in the
  archives, if option `calendar_autocreate` is on. It defaults to `*`.
* `calendar_autocreate` - Control whether new archive pages are created as
  needed. It defaults to being done only if option `archivebase` is set.
* `calendar_fill_gaps` - If set (and `calendar_autocreate` is set as well),
  build calendar pages of empty years and months (but does not build pages older
  than the older page, and younger than the younger page of the pagespec). If
  not, those empty calendar pages will be skipped. *Please note:*
  * The archive pages will not be automatically updated if this option changes.
    It is up to the user to delete relevant pages, and rebuild the wiki.
  * When `calendar_fill_gaps` is set, and a post is deleted, making the
    corresponding year/month empty, the corresponding page is left, and shows
    an empty calendar. This is on purpose, not to break any external link
    pointing to this particular page. If you do not like it, delete the
    relevant pages, and rebuild the wiki.

## CSS

The output is liberally sprinkled with classes, for fine grained CSS
customization.

* `month-calendar` - The month calendar as a whole.
* `month-calendar-head` - The head of the month calendar (ie,"March").
* `month-calendar-arrow` - Arrow pointing to previous/next month.
* `month-calendar-day-head` - A column head in the month calendar (ie, a
  day-of-week abbreviation).
* `month-calendar-day-noday`, `month-calendar-day-link`,
  `month-calendar-day-nolink`, `month-calendar-day-future`,
  `month-calendar-day-this-day` - The day squares on the month calendar,
  for days that are not in the month (before or after the month itself), that
  don't have links, that do have links, that are in the future, or are that
  are the current day, respectively.
* `Sunday`, `Monday`, `Tuesday`, ... - Each day square is also given a class
  matching its  (localised) day of week, this can be used to highlight
  weekends.
* `year-calendar` - The year calendar as a whole.
* `year-calendar-head` - The head of the year calendar (ie, "2007").
* `year-calendar-arrow` - Arrow pointing to previous/next year.
* `year-calendar-subhead` - For example, "Months".
* `year-calendar-month-link`, `year-calendar-month-nolink`,
  `year-calendar-month-future`, `year-calendar-this-month` - The month
  squares on the year calendar, for months with stories,
  without, in the future, and currently selected, respectively.
