ebonsignori5k downloadsOpinionated journaling automation like daily notes but with backfills for the days when Obsidian wasn't opened.
The core Daily notes plugin for Obsidian doesn't backfill notes for the days when Obsidian wasn't opened. This plugin does.
It uses an opinionated folder structure that isn't configurable:
ROOT / YEAR / MONTH / DAY -ROOT / YEAR / {custom-name} / MONTH -You can customize the date format of YEAR, MONTH, DAY, or set/remove the ROOT, but this plugin depends on organizing the filesystem by YEAR/MONTH/DAY.
The base of the filename in each folder should not be changed, e.g. DAY - for Daily Notes or MONTH - for Monthly Notes.
For instance, by default Daily Notes will be created like so,
Journal/2023/August/11 -
You can add whatever you'd like after the title,
Journal/2023/August/11 - Work, Dog Park, Climb with Friends & Grab Dinner
But make sure not to change the day part of the title, 11 -
When enabled, backfilling will create notes for previous days of the month/year when you didn't open the plugin.
For Daily Notes:
For year backfill will create a folder for each month before today and a note with the day prefix, e.g. 11 - for each day of the month before todayFor month backfill will create a note with the day prefix, e.g. 11 - for each day of the month before todayFor Monthly Notes:
For year backfill will a note each month before today month prefix, e.g. January - for each month of the year before this monthYou can include a configurable token (default {{auto-journal-date}}) in a template to be replaced by the date that the file would have been created in a backfill rather than the date it was actually created on.
You can also use flexible inline date format tokens like {{auto-journal-date:YYYY-MM-DD}} or {{auto-journal-date:dddd, MMMM Do YYYY}} to specify the date format directly within the token.
By default, all variables from the core Templates plugin are supported using the settings from the core Templates plugin for date formatting e.g. {{title}}, {{date}}, {{time}}
However, {{date}} and {{time}} will use the day that you opened Obsidian and Auto Journal ran to create note files on, rather than the date that a backfilled note would have if it was created on the date the note represents.
Opening:
can be done via the command prompt with the following Auto Journal: commands:
Open today's daily noteOpen next daily noteOpen previous daily noteOpen today's monthly noteOpen next monthly noteOpen previous monthly noteYou can assign hotkeys to any of these commands in the native Obsidian Settings -> Hotkeys tab.
You can add buttons to navigate to the next, previous or today's daily/monthly note via an auto-journal-navigation code block.
Inside the codeblock include the type of the button followed by a colon (:) and the button text you want it to display, like today-daily: Today's note.
For previous and next buttons in your daily notes, you could add the following code block:
```auto-journal-navigation
previous-daily: Previous Note
next-daily: Next note
```
and they'd look something like this,

The following button types are supported:
today-dailyprevious-dailynext-dailytoday-monthlyprevious-monthlynext-monthlyYou can add CSS to the following classes to change the styling and/or positions of the buttons,
auto-journal-navigation-container for the containing <div>auto-journal-navigation-button for all the <button>sauto-journal-daily for all the daily type buttonsauto-journal-monthly for all the monthly type buttonsauto-journal-today for all the today type buttonsauto-journal-next for all the next type buttonsauto-journal-previous for all the previous type buttonsOr you can adjust the CSS of a specific button using the button's id which is the same as its type. For instance a next-daily button has the id that can be accessed in CSS via #next-daily
Custom File Explorer sorting Since the default names of each journal are the full names of the months e.g. January the following sortspec file placed in the root folder of your journal will organize them in the correct order on your filesystem.
---
sorting-spec: |
target-folder: /*
README
Check-Ins
January...
February...
March...
April...
May...
June...
July...
August...
September...
October...
November...
December...
...
< a-z
assets
---
Templater: Useful for inserting dates and other properties into your journal entry template.
Required: You must enable the "Trigger Templater on new file creation" setting for templater to work with Auto Journal
---
date: {{auto-journal-date}}
tag: journal
---
# <% moment(tp.frontmatter.date).format("dddd, MMMM DD, YYYY") %> 📆
## People 👤
-
## Grateful For 💙
## Photos 📸
The frontmatter date set via Auto Journal token can be consumed by Templater in other functions, e.g. <% moment(tp.frontmatter.date).format("dddd, MMMM DD, YYYY") %>
Reminder Can include a reminder combined with Templater to be notified when a monthly check-in is due to be filled out.
---
date: {{auto-journal-date}}
tag: check-in
---
# **<% moment(tp.frontmatter.date).format("MMMM, YYYY") %> Check In** 📆
- [ ] Fill out Check In 📆 <% moment(tp.frontmatter.date).format("YYYY-MM-DD") %>
### 1. How are you? How was this month?
### 2. What did you prioritize this month?
### 3. Where do you see yourself in 1, 3, & 5 years? Has your long term vision changed?
### 4. Are your habits and goals aligned with this current vision? If so what needs to be changed to meet them?
### 5. Is there anything missing from your life?
### 6. Take back to reflect on the month. What progress did you make? What are you grateful for?
### 7. What are looking forward to in the next month?
The above example uses the Tasks Plugin date format which must be set in Reminder's settings.
@ Symbol Linking I keep a People directory at the top of my journal that I regularly link to with the @ symbol. You can configure this plugin to only look for links in that directory when typing @.
Google Photos Useful way to include photos in each of your entries while storing them in a separate app. This plugin will create thumbnails so you can still see the photos, but they'll be hosted by Google and not take up space in your vault.
The preferred method is adding this through the built-in community plugin browser in Obsidian.
.obsidian/plugins/auto-journal.obsidian/plugins/obsidian-auto-journalSettings -> Community PluginsAuto JournalPlease open an issue with any suggestions or bug reports.
See contributing docs if you'd like to open a PR.
The Obsidian team for creating a wonderful product :purple_heart:
The implementation borrows from: