Skip to content

Files

Latest commit

0a35559 · Feb 19, 2025

History

History
128 lines (89 loc) · 5.68 KB

README.md

File metadata and controls

128 lines (89 loc) · 5.68 KB

Journals for Obsidian

Manage your journals in Obsidian knowledge base.

  • Daily, weekly, monthly, quarterly and yearly notes
  • Notes with custom duration (like financial quarters or sprints)
  • Notes can be indexed to provide numbering (like Sprint 1, Sprint 2)
  • You can configure many different journals based on your needs
  • Every note type configured separately (path to store, templates etc)
  • Variables to insert journal related data into paths/note name/template content.
  • Start date and end conditions can be defined for journals so that notes before start date or after end cnditions are met are not created
  • Auto-creating current journal
  • Opening journal note on startup
  • Code blocks for journal notes for easier navigation

Installation

Follow the steps below to install plugin.

  1. Search for "Journals" in Obsidian's community plugins browser
  2. Enable the plugin in your Obsidian settings (find "Journals" under "Community plugins").
  3. Check the settings. Configure journals that you need.

Compatibility with other plugins

  • Daily notes core plugin - this plugin intends to be a replacement for it. Notes created through Daily notes will not be connected to any journal so it is advised to disable this plugin.
  • Periodic Notes community plugin - this plugin was initially inspired by Periodic notes that seem to abandoned and aims to be a replacement for it.
  • Calendar community plugin - starting 1.1.0 this plugin has calendar view similar to calendar plugin. It does not have all the features of calendar plugin as of now, but will gradually catch up.
  • Templater community plugin - starting with 1.3.0 plugin supports Templater templates in its settings. Journal plugin variables are replaced first and can be used inside templater commands.

Templater caveats

There can be cases when Templater starts interfering with plugin actions resulting in partially broken note or journal related data removed from frontmatter. The best setup to avoid such problems would be:

  • template configured in journal plugin settings
  • Trigger Templater on new file creation is disabled
  • OR Trigger Templater on new file creation is enabled, Enable Folder Templates is enabled, NO Folder template is configured

This ensures that only journal plugin is processing note template thus avoiding conflicts with templater plugin (journal plugin will use templater itself under the hood to process templater commands).

Supported variables

There variables can be used in note name template, note storage path, content of template note.

  • {{journal_name}} - name of journal note belongs to
  • {{note_name}} - name of note
  • {{date}} - date used as reference to specific period, formatted using date format from settings. In most cases it is first day of month, quarter, year or custom interval. The only exception is week notes where for notes that belong to next year but have some days in previous year it will be set to end of week. Format can be overridden using following syntax {{start_date:format}} where format is string using Moment.js format rules (like {{start_date:YYYY-MM-DD}}). You can do date manipulations using Moment.js manipulation rules, e.g. {{start_date+5d:format}} to add 5 days.
  • {{start_date}} - first day of week, month, quarter, year or interval depending on note type, formatting rules are the same as in {{date}}, as well as the calculations
  • {{end_date}} - last day of week, month, quarter, year or interval depending on note type, formatting rules are the same as in {{date}}, as well as the calculations
  • {{index}} - available for interval based journals indicating index of interval (like financial quarter or spring number)

Supported code blocks

For easier navigation plugin provides code blocks that can be inserted into note content.

```journal-nav

```

Navigation code block helps navigating relative to current note. Displayed data is configured in journal settings.

Example look for daily note:

Daily note nav


```calendar-timeline

```

Timeline code blocks helps navigating daily notes in bigger periods (like week, month, quarter or year). By default daily and weekly notes show week timeline, monthly note - month timeline, quarter note - quarter timeline and yearly note - calendar timeline. This can be changed using mode param.

```calendar-timeline
mode: month
```

Sample week timeline

Week timeline

Sample month timeline

Month timeline

Quarter and Calendar timeline repeat month timeline for every month in quarter or year.


```journals-home

```

Displays list of links to current notes in journals. Supports following settings:

  • show - controls what journals are displayed (by default only Today link is displayed). Supported values are - day, week, month, quarter, year, custom.
  • separator - used to separate multiple links. Default - .
  • scale - allows to increase size of links. Used as multiplier of text size - so to have links twice as big as regular text use 2. Default - 1.
  • shelf - allows to limit journal displayed in block to some specific shelf.
```journals-home
show:
	- day
	- week
	- month
	- quarter
	- year
	- custom
scale: 2
separator: " | "
shelf: work
```

Contributing

Contributions via bug reports, bug fixes, documentation, and general improvements are always welcome. For more major feature work, make an issue about the feature idea / reach out to me so we can judge feasibility and how best to implement it.