- Published on
Obsidian and Bullet Journal Templates
- Authors
-
-
- Name
- David Mohundro
- Bluesky
- @david.mohundro.com
-
Over the last few years, I’ve been experimenting with some of the various note taking tools. I’ve used OneNote, Evernote, Notion, Obsidian and LogSeq. I’ve even installed Emacs to try Org Mode (multiple times!) and tried various Vim or NeoVim plugins! The tools that stuck the longest were probably OneNote, Obsidian and LogSeq.
Today, I’m using Obsidian, though I feel it is important that LogSeq helped me think through how I wanted to use Obsidian.
LogSeq encourages a list/bullet approach. When you open LogSeq, it starts you with a file named by the current date under “Journal.” What I like about this is that it discourages any sort of structure outside of the bullet list and the journal. I started using it because, when I tried to use Obsidian, it didn’t encourage any specific format. I constantly struggled with knowing how to organize my notes. But with LogSeq, I would just write. Then, when I needed to tag or create a separate doc, I’d just type [[some content]]
and then I’d get a new file. Or I could tag with #some-tag
. It helped me to stop stressing about the folder structure.
So, I really liked the central aspect to starting from a journal with LogSeq. But… I missed some of the other ideas that Obsidian had. Then I watched Rob Conery’s YouTube video on Using Obsidian as a Bullet Journal and his process clicked clicked for me. I had heard of Bullet Journaling before, but I hadn’t ever spent any time with it, probably because everything I had seen was pen and paper based. Ironically, LogSeq had been pushing me in this direction the entire time I was using it! This felt like the right approach for me, so I grabbed Rob’s templates and list of plugins and gave it an attempt.
After using it for 2-3 weeks, I’m getting a better feel for organization, too. I’m not stressing over unique note files (i.e. what I’ve seen commonly referred to as Zettelkasten), but instead I might throw an initial year or year plus month on a note file, but that’s it. Then I’ll drop it in a year-based directory. As it turns out, most of my notes age over time (sort of like code or software rot)… but by dating and then throwing those notes in a dated directory, I know right away if the information is relevant or needs to be refreshed.
Regarding Rob’s templates, I started with them, but I have made some tweaks, mostly to automate the formatting using the Templater plugin. I didn’t want every month to have 31 days… I wanted month records to automatically link to their respective days, and so on. I’ll probably continue to tweak them, but the current versions are below.
My daily template looks like this:
<%\*
let today = moment(tp.file.title);
// # 2023/01/01 - Sunday
tR += '# ' + today.format('YYYY/MM/DD - dddd') + '\n';
// 2023 / January
tR += '[[' + today.format('YYYY') + ']] / ';
tR += '[[' + today.format('YYYY-MM') + '|' + today.format('MMMM') + ']] / ';
tR += '\n\n';
// ❮ 2022-12-31 | 2023-01-01 | 2023-01-02 ❯
tR += '❮ [[' + today.subtract(1, 'days').format('YYYY-MM-DD') + ']]';
tR += ' | ' + today.add(1, 'days').format('YYYY-MM-DD') + ' | ';
tR += '[[' + today.add(1, 'days').format('YYYY-MM-DD') + ']] ❯';
today.subtract(1, 'days');
%>
---
# 📅 Log
- [<] Event
- [ ] Task
- Note
## 💪🏽 The Work
_The path of most resistance_
- [ ] 🏄🏻♂️ Bod
- [ ] ⛪️ Spirit
- [ ] 🧠 Mind
## 🕙 The Day
- summary <% tp.file.cursor() %>
### 🤔 Something I Learned
- always something
### 🐯 Three Good Things
1. Thing 1
2. Thing 2
3. Thing 3
My monthly template is like this:
<%\*
let month = moment(tp.file.title);
// # 2023 January
tR += '# ' + month.format('YYYY MMMM') + '\n';
// ❮ December | January | February ❯
tR += '❮ [[' + month.subtract(1, 'months').format('YYYY-MM|MMMM') + ']]';
tR += ' | ' + month.add(1, 'months').format('MMMM') + ' | ';
tR += '[[' + month.add(1, 'months').format('YYYY-MM|MMMM') + ']] ❯';
month.subtract(1, 'months');
tR += '\n';
const thisMonth = month.month();
%>
---
## Goals
- [ ] Go big!
## The Work
Commitment to getting better, stronger, etc.
<% tp.file.cursor() %>
## Calendar
<%\*
// build out the table of days for this month
tR += '| Day | Event |\n'
tR += '| --- | ----- |\n'
// reset month variable
month = moment(tp.file.title);
do {
tR += `| [[${month.format('YYYY-MM-DD')}]] | |\n`;
month.add(1, 'days');
} while (month.month() == thisMonth);
%>
## What I Learned
- [p] Good Thing
- [c] Bad Thing
- ["] Interesting Quote
- [w] Win
- [k] Solution
And then yearly looks like this:
<%\*
let year = moment(tp.file.title);
// # 2023
tR += '# ' + year.format('YYYY') + '\n\n\n';
// ❮ 2022 | 2023 | 2024 ❯
tR += '❮ [[' + year.subtract(1, 'years').format('YYYY') + ']]';
tR += ' | ' + year.add(1, 'years').format('YYYY') + ' | ';
tR += '[[' + year.add(1, 'years').format('YYYY') + ']] ❯';
year.subtract(1, 'years');
tR += '\n';
const thisYear = year.year();
%>
---
## Goals
- [ ] Go big, do great things
- [ ] <% tp.file.cursor() %>
## The Work
- [p] Your personal fitness, physical, mental, emotional, spiritual
## Log
- [<] Something Scheduled
<%\*
// reset year variable
year = moment(tp.file.title);
let month = year.month('January')
do {
tR += `### [[${$month.format('YYYY-MM|MMMM')}]]\n\n`;
tR += '- [ ] Something Scheduled\n\n'
month.add(1, 'months');
} while (month.year() == thisYear);
%>
I’m planning to share a few more tips on how I’m using it, but I’d definitely recommend checking out Rob’s video.