Skip to content

Org Journalλ︎

Org-journal is an effective way to keep a daily record of discovery from work, personal study, hobbies or even a mood diary to help with mental wellness.

Space a o j j opens a new journal entry for the current day in a new buffer. Space u Space a o j j to view the journal without adding a new entry.

User key binding shortcut for Journal

Space o j is a user binding as a short-cut for Space a o j j in the practicalli/spacemacs.d configuration

o creates a new line automatically indented, or a new list item, - or check box list, - [ ], if the previous line was that type.

Ctrl+EnterC-RET creates a new heading at the same level. M-right-arrow demotes the current heading (smaller heading) and M-left-arrow promotes the current heading. M-up/down-arrow moved heading up or down the list of headings.

, displays the org-mode major mode commands. g menu contains org related commands

, i l to add a link, prompting first for the URL (Ctrl+y to paste) followed by the text of the link and an optional tool tip.

, p and , m will show the previous and next days journal entries, providing a quick way to scroll through the diary.

Space f s to save the journal entry.

Spacemacs org journal - example journal entry

Create a check box list

- is a list and - [ ] adds a checkbox to the list. , T c toggles the mark in the checkbox, ticked or empty, for the current line.

Tracking progress with TODO statesλ︎

Any Heading level can be assigned a TODO state to demonstrate progress and use the journal to manage tasks for the day.

, L or Shift+Right (org-shiftright) cycles through the states, which are TODO DOING and DONE by default. , H or Shift+Left to cycle the states in reverse.

Headings in the TODO state are automatically carried over when creating the next days journal. Sub-heading with TODO states are carried over along with their parent heading(s). See the configure section below to change this.

End of day review

Practicalli recommends reviewing each days journal at the end of the day, before creating the next day. This is a great opportunity to take a few moments to reflect on the day.

, p jumps to the previous days journal if items seem to be missing. Manually copy any missing items. , n to view today's journal and paste those missing items.

Tracking progress with checkboxesλ︎

- [ ] on a new line adds a checkbox as a list item.

, T c toggles the done or not done state of the checkbox from anywhere on the line.

Add a cookie to a header containing tasks to show the number or percentage of tasks complete.

  • [/] to show number of complete task and total
  • [%] to show the percentage of completed tasks

Ctrl+C+Ctrl+c will force an update of the checkbox totals in the cookie for the current heading.

Spacemacs Org-mode Journal - list checkbox tracking cookies

Configure org-journalλ︎

practicalli/spacemacs.d includes the configuration below

To manually add org-journal, edit .spacemacs and add these org layer variable with suggested settings from Spacemacs org layer documentation

org-enable-org-journal-support t
org-journal-dir "~/projects/journal/"
org-journal-file-format "%Y-%m-%d"
org-journal-date-prefix "#+TITLE: "
org-journal-date-format "%A, %B %d %Y"
org-journal-time-prefix "* "
org-journal-time-format ""

The TODO states carried over can be configured using the org-journal-carryover-items variable on the org layer in .spacemacs

org-journal-carryover-items "TODO=\"TODO\"|TODO=\"DOING\"|TODO=\"BLOCKED\"|TODO=\"REVIEW\"")