]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/calendar.mdwn
link to branch URI just in case the mirrorer breaks
[git.ikiwiki.info.git] / doc / plugins / calendar.mdwn
index 784e949a0f0576e6b09183bf849eeb883e56e4ef..8d18ed081e0a9e6e43c379272b033119b75edd7a 100644 (file)
@@ -1,53 +1,32 @@
-[[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.
-
-The tricky part of this is that while calendar defaults to showing the
-current day and month, ikiwiki is a wiki compiler, which only rebuilds
-pages if they have changed. So to keep the calendar up-to-date, wikis that
-include it need to be periodically rebuilt, typically by cron at midnight.
-
-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.
 
 ## CSS
 
@@ -56,9 +35,10 @@ 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-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
@@ -69,6 +49,7 @@ customization.
   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