The Five Minute Journal with Dendron and Visual Studio Code
It's 2022 and you're looking to start off the year right by keeping a journal. Where to start? The Five Minute Journal (5MJ)1 is a simple but effective way to get started with note taking.
The Five Minute Journal
Tim Ferriss,2 world-famous entrepreneur and author of books such as Tribe of Mentors,3 uploaded a video in 2020 all about his approach to note taking with physical notebooks.4 5MJ helps him express gratitude, make days better, and focus on mindfulness.
In this post, we'll be going over how to create your own 5MJ using Dendron. Dendron is a structured note taking tool for developers that is open source, local first, and integrated with Visual Studio Code (VS Code).
This post expects that you've gone through the Dendron Getting Started Guide and have a workspace opened to work with. If you're new to Dendron, make sure to take a look.
Daily journal notes
Daily journal notes are special notes meant to easily track your everyday life. Dendron also has a built-in Calendar View that helps you visually navigate and create new journal entries.
Templates are notes with pre-outlined content meant for reuse. Templates can either be inserted into an open note with the
Dendron: Apply Template command, or automatically applied at note creation with Schemas. These are meant to reduce friction in the creation of new content, providing standardized outlines to your notes.
As you end up creating more notes, it can be hard to keep track of them all. This is why Dendron has schemas to help you manage your notes at scale. Think of schemas as an optional type system for your notes. They describe the hierarchy of your data and are themselves, represented as a hierarchy.
Create 5MJ template
Open lookup (
templates.daily-5mjin the text prompt and hit enter to create the template
Copy and paste the following markdown:
<!-- Based on the journaling method created by Intelligent Change: - [Intelligent Change: Our Story](https://www.intelligentchange.com/pages/our-story) - [The Five Minute Journal](https://www.intelligentchange.com/products/the-five-minute-journal) --> ## Morning <!-- Fill out this section after waking up --> ### Gratitude I am grateful for: 1. 2. 3. ### What would make today great? 1. 2. 3. ### Daily affirmations I am... ## Evening <!-- Fill out this section before going to sleep, reflecting on your day --> ### Amazing things that happened today 1. 2. 3. ### How could I have made today even better? I could have made today better by
- Save the file.
You now have a new template with the 5MJ outline.
Create 5MJ schema
Templates can be used with or without schemas. Run Insert Note to insert a template into a currently opened note.
- Open schema lookup (
5mjin the text prompt and hit enter to create the schema, which should look like the following:
version: 1 imports:  schemas: - id: 5mj children:  title: 5mj parent: root
Update 5MJ schema contents
We are going to use Inline Schema, a simpler schema format that takes less lines and uses indentation for visual understanding.
- Replace the content of
5mj.schema.ymlwith the following:
version: 1 schemas: # Daily is the top most schema since its parent is 'root' it must have an identifier # this identifier 'daily' will be used when using 'Lookup (schema)' command. - id: daily parent: root title: daily desc: "" # Children of the top most schema do not need to contain identifier and just # require a 'pattern' to be set to match the hierarchy of notes. children: - pattern: journal children: # This pattern matches the YYYY (year) child hierarchy - pattern: "[0-2][0-9][0-9][0-9]" children: # This pattern matches the MM (month) child hierarchy - pattern: "[0-1][0-9]" children: # This pattern matches the DD (day) child hierarchy - pattern: "[0-3][0-9]" # As with regular schema we can set the template to be used with # the match of our notes. Below is an example usage of shorthand template # definition (which defaults to type: note). desc: Five Minute Journal template: templates.daily-5mj
pattern attribute is using a Glob Pattern, which is an expression used to match ranges and combinations of characters.
To match with the daily journal structure:
[0-2][0-9][0-9][0-9]means match the range
0000 - 2999
[0-1][0-9]means match the range
00 - 19
[0-3][0-9]means match the range
00 - 39
This means all new daily journal notes are within pattern ranges.
Create a new daily journal
Creating a daily journal entry results in the
templates.daily-5mj template automatically inserted.
Create Daily Journal Note(
You should see a new daily journal note with the 5MJ template inserted.
After doing this, you've now:
- Created a 5MJ template
- Created a 5MJ schema
- Created your first daily journal with the 5MJ template applied via schema
Now what? You have daily journals using templates, but Dendron can do much more. It's an open source, local-first knowledge management solution that scales as you do.
- Learn to swiftly create schema by targeting existing note hierarchies
- Learn to level-up your daily life with the bullet journaling workflow
- Learn to explore your schema visually using the schema graph
- Check out an end-to-end workstyle, managing 20k notes, using schemas and daily journals from A Day in Dendron
- Dendron FAQ
- Dendron Concepts
Enjoy the blog? Subscribe to our newsletter!
Newsletters not your thing? You can also follow us elsewhere on the interwebs:
- Join Dendron on Discord
- Register for Dendron Events on Luma
- Follow Dendron on Twitter
- Checkout Dendron on GitHub
Interested in creating your own knowledge base using markdown, git, and VSCode? Get started with Dendron today.
It's hard to use one sentence to describe all the things Tim Ferris does. He has one of the most popular podcasts in the world, and has authored several books from all of his notes and interview content. He seems shorter in person. Anyway, learn more at his website!˄
The video: How I Journal and Take Notes: Brainstorming + Focusing + Reducing Anxiety. For a companion guide to the video, take a look at How Tim Ferriss Uses The Five Minute Journal: 6 Tips For New Journalers.˄