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:
- Daily Notes:
ROOT / YEAR / MONTH / DAY -
- Monthly Notes:
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 today
For 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 month
You 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.
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:
- Today's daily/monthly note
- The next/previous from today (if running a command from a non-note file)
- The next/previous from the current note (if running a command from a note file)
can be done via the command prompt with the following Auto Journal:
commands:
Open today's daily note
Open next daily note
Open previous daily note
Open today's monthly note
Open next monthly note
Open previous monthly note
You 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 type
s are supported:
today-daily
previous-daily
next-daily
today-monthly
previous-monthly
next-monthly
You 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 thedaily
type buttonsauto-journal-monthly
for all themonthly
type buttonsauto-journal-today
for all thetoday
type buttonsauto-journal-next
for all thenext
type buttonsauto-journal-previous
for all theprevious
type buttons
Or 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 followingsortspec
file placed in the root folder of your journal will organize them in the correct order on your filesystem.-
Click to see sortspec
--- 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
-
Click to see journal template
--- 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.
-
Click to see check-in template
--- 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.
- Create a new folder in your vault,
.obsidian/plugins/auto-journal
- Download and move the files from the latest release in the Releases Page to the new folder,
.obsidian/plugins/obsidian-auto-journal
- In Obsidian go to
Settings -> Community Plugins
- Enable community plugins if they aren't already enabled, then and enable the checkbox for
Auto Journal
Please 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 💜
The implementation borrows from:
- suggest.ts and the file-suggest.ts and folder-suggest.ts that implement it are copyrighted works of Liam Cain, obsidian-periodic-notes.