MediaWiki extensions manual
OOjs UI icon advanced.svg
Release status: beta
Extension JsCalendar screenshot.png
Implementation Parser extension
Description Provides <EventCalendar> tag that shows a JavaScript-based calendar with event pages
Author(s) Edward Chernenko, Steffen Beyer
Latest version 0.3.0
Compatibility policy master
MediaWiki 1.34+
Database changes No
License GNU General Public License 2.0 or later
Check usage and version matrix.

The JsCalendar extension is based on YASEC extension (by Steffen Beyer). It additionally supports coloring (based on category or keywords), showing HTML snippets of event pages, finding event pages by regex, etc. However, unlike YASEC, it only supports MySQL/MariaDB. (PostgreSQL is not supported. Patches are welcome)


The following syntax will find all pages with names like Today_in_History/April,_12 and display a calendar of these events:

   prefix = Today_in_History/
   suffix =
   dateFormat = F_j

The value of dateFormat parameter is explained here: https://www.php.net/manual/en/datetime.createfromformat.php#refsect1-datetime.createfromformat-parameters

The following syntax will find pages like 2020/05/15_Name_of_some_event and display a calendar:

   titleRegex = ^([0-9]{4,4}/[0-9][0-9]/[0-9][0-9])_.*
   dateFormat = Y/m/d

By default, pages in main namespace (articles) are shown. To use another namespace, use namespace= parameter, for example (to find pages like "Template:04-13/WhatHappened"):

   namespace = Template
   prefix =
   suffix = /WhatHappened
   dateFormat = m-j

Events can be colored based on the category they are in. For example,

   categorycolor.Cat-related events = red
   categorycolor.Dogs = green

Events can be colored based on presence of some keyword within their wikitext. For example,

   keywordcolor.arctic = yellow
   keywordcolor.statistically = lightgreen

Instead of the page name, a HTML snippet of the first N symbols can be shown for each event page. To enable, use the following parameter:

   symbols = 500

Please see README.md for more details/examples.


  • Download and place the file(s) in a directory called JsCalendar in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'JsCalendar' );
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


Please see Calendars for the list of other calendar extensions.