Summary: A lightweight calendar with navigation and daily journal entries
Version: 1.0
Prerequisites: None
Status: Working but not widely tested
Maintainer: Robert Langston
License: GPL
Categories: Blog
Discussion: Journal-Talk

Questions answered by this recipe

Create a small calendar for the current month, with navigation buttons to move to previous/next month. Click on a date to edit the journal entry for that day, or create a new entry if none exists.

Separately, mark up to display the journal entries for the month.


The navigation links << and >> change the month (by reloading the page with new variables). The Today link changes the month to the current month.

Clicking on a date will edit the journal page entry for that date, or create one if none exists. Pages are named yyyy-mm-dd. Clicking on the date in the journal entries list will also edit that entry.


Download journal.phpΔ and copy to the cookbook folder.

(Updated to PHP8.2 journal-8.2.phpΔ Dave Cooke - see Journal-Talk)

Add the following line to local/config.php


Add the following to Site.LocalTemplates

[[({=$Group}/){=$Name}?action=edit | {=$Name}]]
(:include {=$FullName} self=0:)


To add the calendar to a page include the following markup where you want the calendar to appear.


To add the list of journal entries for the current month add the following markup:

(:pagelist group=Journal list=normal fmt=#simplenameinclude name={$SimpleCalendarYear}?{$SimpleCalendarMonth}* :)

Change the group name in group=Journal to the name of the current group, or omit completely to show entries across the whole site with a name in the format yyyy-mm-dd .

Release notes

  • 15 January 2022 Initial release
  • 8 October 2023 update to PHP 8.2

See also

The code has been derived from FeralSimpleCalendar which provides the calendar formatting, but no navigation or entry display mark up.


See discussion at Journal-Talk

User notes? : If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.