Zim - A Desktop Wiki
Journal
The Journal Plugin turns a specific section of the notebook into a journal (the "Journal" section by default, but this is configurable). It can either have a page per day, organized by year and month, or a page per week or month. This "Journal" section is shown in a separate side pane view using a calendar and showing the pages with the latest entry on top.
This plugin is intended to help organize notes by date like you would do for a journal. Another use case is e.g. to put minutes of meetings or class notes on the page for the date of the meeting - possibly to work them out later in pages for the specific subject.
Dependencies: This plugin has no additional dependencies. The python module "babel" is an optional dependency to determine the weekday conventions.
See also: Usage:Daily Journal
Options
This plugin has the following options:
- The option Position in the window determines in which side pane the calendar is shown.
- The option Hide Journal pane if empty allows to hide the Journal pane for notebooks that do not use it.
These options can be set as notebook properties per notebook:
- The Section controls where the calendar pages are stored.
- The option Use a page for each: ... allows you to set the calendar to either use a separate page for each day, each week, each month or even each year.
Keybindings
- <Alt>D - navigate to the calendar date for today
Tasks per day
The Task List plugin has an option to automatically set the due date for tasks that are defined on calendar pages. When this is enabled you can put tasks on the correct calendar page and they will show up in the task list with this implicit due date.
Template Properties
The Calendar plugin adds the following properties to the template for calendar pages:
journal_plugin.page_type()
Indicates type of the page for which template was used. Contains one of following values: "day", "week", "month" or "year"
journal_plugin.date
Date covered by this page
journal_plugin.start_date
First date covered by this page (same as 'calendar_plugin.date')
journal_plugin.end_date
Last date covered by this page
journal_plugin.days()
A function that returns a list of all days in the week, month, year covered by this page
All these dates can be used with the templates strftime() function to format the date as text. See Templates for details.