Skip to main content

Random Daily Journal Prompts in Obsidian

You can spice up your daily journaling practice by using random prompts. The good news is that it is very easy to implement it in your Obsidian vault. In this article, I will share my approach.

My solution is inspired by Journal Prompts in Roam Research by Daniel Wirtz. The list of journal prompts I share is based on the 1000 Daily Prompts recommended in Daniel's article.

If you are interested in my collection of journaling approaches check out my Evergreen Note on Note-taking Strategies and Their Practical Implementations. This is where I am collecting a growing list of different personal journaling strategies.

How the end result will look

The image below is a screenshot of my Daily Notes Page (DNP). This article only talks about the bit highlighted with the red box.

Random Prompts on Daily Notes Page

You may have already noticed the big red emoji question marks and also that the prompts are enclosed in [[square brackets]]. By inserting each prompt as a wiki link, in the future, I will be able to find and compare my answers to the same question at different times. Because the 1000 Daily Prompts included characters that are not allowed in filenames such as '?', '/' and ' " ', I have replaced these characters with alternatives to ensure that wiki links will work properly.

Imagine for example that the question "What caused me to wince today?" comes up again after a few weeks on the 9th of September. Because of the wiki links, I will see that I was prompted with the same question in the past, on the 20th of August. After I answer the question, I will check how my answer on the 9th compares to my earlier answer on the 20th.

Finding answers to the same question on different days

How to install

To make this article complete I include a step-by-step, screenshot-by-screenshot walkthrough at the end. If, however, you are familiar with Obsidian, you probably don't need all that. Here's the quick overview with the link and the Templater script. This should be enough to get you on your way. 

Here's the link to the Daily Journal Prompts file. You'll need to unzip it before saving the file to your Vault. You can place the file in your Vault where ever you like, the script should find it (unless you have another file with exactly the same name).

And here's the Templater script:

const numberOfPrompts = 3;
const promptsFile = app.metadataCache.getFirstLinkpathDest("Daily-Journal-Prompts","");
const prompts = (await"\n");
tR += "## Random Questions\n";
for(i=0;i<numberOfPrompts;i++) {
  n = Math.floor(Math.random()*prompts.length);
  tR += "### [[" + prompts[n]+"]]\n\n";

Step by Step guide

Enable the Daily notes core plugin

Enable the Daily notes core plugin

Install Templater

Install Templater 1

Install Templater 2

Install Templater 3

Install Templater 4

Install Templater 5

Save the Daily-Journal-Prompts file to your vault

Here's the link to the Daily Journal Prompts file. You'll need to unzip it before saving the file to your Vault. You can place the file in your Vault where ever you like, the script should find it (unless you have another file with exactly the same name).

Create the DNP Template file

Create the DNP Template file

Copy the script from above into your DNP Template. Use CTRL+Shift+V to paste the code into your template to avoid Obsidian from reformatting the code.

Set the template for Daily Notes

Set up the template for Daily Notes

Test your random questions

If today's daily note is not yet created, you can simply click "Open today's daily note" in the ribbon.

Create a new daily note

Else you can open an empty document and type ALT+E to bring up the available Templater templates, and select "DNP Template" to test it. 

Execute Template

And that's all... Enjoy!

Like this post?
Show your support.


Post a Comment

Popular posts from this blog

Deep Dive Into Roam's Data Structure - Why Roam is Much More Than a Note Taking App

Which are the longest paragraphs in your graph? Which pages did you edit or create last week? How many paragraphs of text do you have in your database in total? Which pages do you have under a given namesapece (e.g. meetings/)?

Showcasing Excalidraw

Conor ( @Conaw ) pointed me to Excalidraw last week, and I was blown away by the tool and especially about the opportunities it opens up for  Roam Research ! It is a full-featured, embeddable sketching component ready for web integration. This post will showcase key Excalidraw features and discusses some of the issues I still need to solve to complete its integration into Roam. I spent most of my free time during the week integrating Excalidraw into Roam. This article will introduce Excalidraw by showcasing its features.

A closer look at {{roam/render}}

Roam is like a good swiss army knife, it even has a ClojureScript development environment. I spent the past 14 days getting acquainted with {{roam/render}} . This post serves as a note-to-self, to summarize and organize what I have learned.  This post is targeted at developers and Roam hackers. If you are not in one of these camps, you will likely struggle with the content.

Roam-Excalidraw Plugin MVP Release

  I am releasing the MVP version of the Roam-Excalidraw Plugin. Over the past two weeks, I have been super focused on getting to this point. As a consequence, this post is going to be shorter and more utilitarian than usual. I had to make a choice whether to release the plugin this weekend or to write a detailed blog post. I opted for the first.