Template:Calendar date/sandbox
This is the template sandbox page for Template:Calendar date (diff). See also the companion subpage for test cases. |
This template is rated as alpha. It is ready for third party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome. |
This template uses Lua: |
{{Calendar date/sandbox}} aka {{Moveable date}} is for displaying the calendar date of holidays or events that move annually, that do not have a fixed day and month of occurrence.
Examples include the Jewish new year Hanukkah which is based on a non-Gregorian calendar system. The June solstice wobbles celestially.
Usage
[edit]The template requires only two arguments, the holiday/event name (|holiday=
or |event=
are synonymous) and the year |year=
in the Gregorian calendar.
Example:
{{calendar date |holiday=Rosh Hashanah |year=2019}}
- Produces:
- Sunset, 29 September 2019 – nightfall, 1 October 2019
Optionally try |format=infobox
in an infobox
Example:
{{Calendar date |holiday=Rosh Hashanah |year=2019 |format=infobox}}
- Produces:
- Sunset, 29 September –
nightfall, 1 October
- Sunset, 29 September –
Options
[edit]Required
- holiday or event
- Name of an available holiday. Ex.
|holiday=Rosh Hashanah
or|event=Rosh Hashanah
- year
- Year of event. Ex.
|year=2019
Options
- df
- Date Format options can be "dmy", "mdy" or "iso" (
|df=dmy
). Defaults are set in Module:Calendar date/events - format
- Use
|format=infobox
in an infobox - cite
- If set to anything (
|cite=
) a citation is added.
Adding or editing holidays
[edit]Holidays are configured in Module:Calendar date/events which has additional documentation and examples.
There are two holiday types: "calculator" and "localfile".
calculator - Moveable dates are determined with a calculator plugin. For example Rosh Hashanah uses the {{Hebrew year}}
calculator:
datatype = "calculator"
datasource = "{{#time:Y-m-d|@{{Hebrew year/rhdatum|{{#timel:xjY|YYYY-11-1}}}}-1 days}}"
- When the template runs, it replaces "YYYY" with the value of the
|year=
argument, then executes thedatasource
code. Calculators can be any available on Wikipedia, so long as it accepts a year value and returns a date in ISO format. All calculators are third-party plugins, the template does not do calculations.
localfile - When a calculator is not possible or unavailable, moveable dates can be stored in local files. For example with Tu BiShvat:
datatype = "localfile"
datasource = "Module:Calendar date/localfiles/Tu BiShvat"
- The file Module:Calendar date/localfiles/Tu BiShvat contains a static list of dates.
wikidata - <to be developed - see talk page for more info>
Holidays with multiple aliases
[edit]If a holiday has multiple aliases, and it's desired the template support them with the |holiday=
argument, create multiple entries in Module:Calendar date/events one for each name.
Dynamic dates
[edit]The |year=
can accept templates.
- For example, to show the current year for Tu BiShvat use {{CURRENTYEAR}}:
{{Moveable date |holiday=Tu BiShvat |year={{CURRENTYEAR}}}}
- Produces
- Sunset, 24 January 2024 – nightfall, 25 January 2024
Other useful templates are {{LASTYEAR}}
and {{NEXTYEAR}}
.
Combined they can be used in infoboxes to fully automate updates, example from the Hanukkah infobox:
|date{{LASTYEAR}} = {{Moveable date |holiday=Hanukkah |year={{LASTYEAR}} |format=infobox |cite=}}
|date{{CURRENTYEAR}} = {{Moveable date |holiday=Hanukkah |year={{CURRENTYEAR}} |format=infobox}}
|date{{NEXTYEAR}} = {{Moveable date |holiday=Hanukkah |year={{NEXTYEAR}} |format=infobox}}
|date{{NEXTYEAR|2}} = {{Moveable date |holiday=Hanukkah |year={{NEXTYEAR|2}} |format=infobox}}
Offset date
[edit]An offset date can be calculated for a given moveable date using #time parser function.
- For example, to show the date of the Friday following Ascension Thursday:
{{Moveable date |holiday=Ascension Thursday |df=dM |year={{CURRENTYEAR}}}}
{{#time: d M Y| {{Moveable date |holiday=Ascension Thursday |df=d |year={{CURRENTYEAR}}}} + 1 day}}
- Produces
- 9 May 2024
- 10 May 2024
Tracking categories
[edit]VisualEditor TemplateData
[edit]What is this? See https://www.mediawiki.org/wiki/Help:TemplateData
A template for displaying moving calendar dates
Parameter | Description | Type | Status | |
---|---|---|---|---|
Name of holiday/event | holiday | The name of the holiday or event
| String | required |
Holiday year | year | The year to display the holiday dates for
| String | required |
Display format option | format | Options for controlling display output such as for an infobox
| String | optional |
Date Format | df | Date format to use when displaying dates
| String | optional |
External links
[edit]- Simple holidays by Mark Seemann