Greeting

Say hello to yourself!

## Good <% tp.date.now("dddd") %> Morning Samwise!

Next / Prev Day

You can use tp.date.now inside a link to create links to your previous and next daily note. The second argument is an offset.

[[<% tp.date.now("YYYY-MM-DD", -1) %>|Yesterday]]|[[<% tp.date.now("YYYY-MM-DD", 1) %>|Tomorrow]]

Get A Random Note

This is a little bit more complicated, but not by much! This command add a link to a random note from your vault.

The previous commands were opened with <%. To run javascript inside a templater command we bee the use a <%* opening.

<%*

What is app? Open your dev console and type app into it. Whoa! We have full access to the Obsidian API inside of Templater. This opens up many more possibilities to those brave enough to explore.

app.vault.getFiles() returns an array of all the files in your vault

const files = app.vault.getFiles()

We're using some basic JavaScript to grab a random element from the array. We're storing the random file to a variable randomNote. Once you store a variable in a Template, you can reuse it elsewhere

const random = Math.floor(Math.random() * (files.length - 1))
const randomNote = files[random]

By closing a command with -%> we're telling Templater to not add a blank line where this command was. in the template. Super handy for commands that don't return a value like this one.

-%>

Finally, we grab the randomNote and create a link to it.


Today's random note is [[<% randomNote.basename %> ]]

Set a default template for the Daily Note File

If you hit the next link, it won't use your daily notes template. Unless you set that up in the Templater settings!

Use Date Basis to set the right date

tp.date.now includes a few more arguments beyond the format and offset.

  • reference: Instead of basic the date on today, we can base it on any date given as reference.
  • reference_format: the format of our reference date.
    We can use these to make sure the proper date is returned in any daily note created. Go back to where there is tp.date.now above and change them to be: tp.date.now("YYYY-MM-DD", 0, tp.file.title, "YYYY-MM-DD") the 0 is your offset so don't forget to use -1 and 1 for the yesterday/tomorrow links.
Daily Note Templater Example
Interactive graph
On this page
Greeting
Next / Prev Day
Get A Random Note
Set a default template for the Daily Note File
Use Date Basis to set the right date