-[[template id=plugin name=calendar author="[[ManojSrivastava]]"]]
-[[tag type/chrome]]
-
-This plugin displays a calendar, similar to the typical calendars shown on
-some blogs.
-
-# examples
-
- \[[calendar ]]
-
- \[[calendar type="month" pages="blog/* and !*/Discussion"]]
-
- \[[calendar type="year" year="2005" pages="blog/* and !*/Discussion"]]
-
-This plugin is inspired by the calendar plugin for Blosxom, but
-derives no code from it. This plugin is essentially a fancy front end
-to archives of previous pages, usually used for blogs. It can produce
-a calendar for a given month, or a list of months for a given year.
-
-Since ikiwiki is a wiki compiler, to keep the calendar up-to-date,
-wikis that include it need to be preiodically refreshes, typically by cron
-at midnight. Example crontab:
-
- 0 0 * * * ikiwiki -setup ~/ikiwiki.setup -refresh
-
-The month format calendar simply links to any page posted on each
-day of the month. The year format calendar links to archive pages, with
-names like `archives/2007` (for all of 2007) and `archives/2007/01`
-(for January, 2007). For this to work, you'll need to create these archive
-pages. They typically use [[inline]] to display or list pages created in
-the given time frame.
-
-## usage
-
-* `type` - Used to specify the type of calendar wanted. Can be one of
- "month" or "year". The default is a month view calendar.
-* `pages` - Specifies the [[ikiwiki/PageSpec]] of pages to link to from the
- month calendar. Defaults to "*".
-* `archivebase` - Configures the base of the archives hierarchy. The
- default is "archives". Note that this default can also be overridden
- for the whole wiki by setting `archivebase` in ikiwiki's setup file.
-* `year` - The year for which the calendar is requested. Defaults to the
- current year.
-* `month` - The numeric month for which the calendar is requested, in the
- range 1..12. Used only for the month view calendar, and defaults to the
- current month.
-* `week_start_day` - A number, in the range 0..6, which represents the day
- of the week that the month calendar starts with. 0 is Sunday, 1 is Monday,
- and so on. Defaults to 0, which is Sunday.
-* `months_per_row` - In the annual calendar, number of months to place in
- each row. Defaults to 3.
+[[!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.