After few months of using Structured daily/weekly notes - in Obsidian I collected enough information & knowledge to improve the system.
The problems
- The tasks under "Work" are just inline tasks that are attached to that one note and I:
- Found myself copy&pasting heap of tasks from yesterday to today. Everyday.
- Forgetting some tasks in previous days and losing track about them.
- Having to explicitly
[[Link]]
project that was related to given task.
- Not being able to create ad-hoc
- [ ] Task
in some note and have it automatically visible in Today's note. - Not being able to create tasks for future days. The note for that day would need to exist, which is a bit of a pain.
The challenge
- Part of my improvement was the idea that a daily note can be destroyed & recreated at any time and no information can be lost.
- I'm not a fan of "manual" things so solution has to be as convenient as possible.
- And obviously given solution should cover all the flaws listed above.
The solution
Quite a bit from my previous article stayed the same, so feel free to use it as reference on what plugins to install, what folders create and which settings to tweak. Without this step, you might get varying results.
To make note creation convenient for myself I installed also Buttons plugin.
Meeting nad Note templates
These are fairly simple templates to quickly create Meeting and generic Notes.
/Templates/Meeting.md
---
when: <% tp.date.now("YYYY-MM-DD", 0, tp.file.title, "YYYY-MM-DD") %>
tags:
- meeting
---
<% tp.file.cursor(0) %>
/Templates/Note.md
---
when: <% tp.date.now("YYYY-MM-DD", 0, tp.file.title, "YYYY-MM-DD") %>
tags:
- note
---
<% tp.file.cursor(0) %>
To explain what is happening here a little bit:
- The part between the triple dashes (
---
) is Obsidian frontmatter, which uses YAML to store metadata about your note. - The
when
value uses Templater value to extract date (YYYY-MM-DD
from current file name). This template will be executed on file creation. It might seem redundant as I could then use the file name directly in queries, but for me files are meant to be renamed to have more meaning. - The
tags: - meeting
is to mark the type of this note for future use.
Daily template
/Templates/Daily.md
## ✅ Today ```tasks scheduled on {{date:YYYY-MM-DD}} hide scheduled date hide done date ``` ## ⏰ Past ```tasks ((not done) OR (done on {{date:YYYY-MM-DD}})) (scheduled before {{date:YYYY-MM-DD}}) ``` ## ☎️ Meetings ```button name New Meeting type note(Meetings/<% tp.date.now("YYYY-MM-DD", 0, tp.file.title, "YYYY-MM-DD") + ' - ' + '\<\% tp.date.now("X") \%\>' %>, split) template action Meeting templater true ``` ```dataview TABLE join(file.outlinks) AS Outlinks WHERE when=date(this.file.name) AND contains(tags, "meeting") ``` ## 📝 Notes ```button name New Note type note(<% tp.date.now("YYYY-MM-DD", 0, tp.file.title, "YYYY-MM-DD") + ' - ' + '\<\% tp.date.now("X") \%\>' %>, split) template action Note templater true ``` ```dataview TABLE join(file.outlinks) AS Outlinks WHERE when=date(this.file.name) AND contains(tags, "note") ```
This one is a bit more complex, so let's dive in:
- The codeblocks used are button, dataview and tasks. The last one could be replaced with
dataview
, but I findtasks
more flexible. - Tasks block Today shows all tasks scheduled for today.
- Tasks block Past shows all unfinised tasks scheduled for any date in the past.
- Button New Meeting creates new meeting note using given template. First part uses current (Daily) note file name, which will be by default in
YYYY-MM-DD
format to get the same to new note name. The curious thing is the extra escaping of the templater syntax on the next part. This is because we are looking at a template that is going to be used to create Daily Note. And inside this we want to have another template that is then being used to create a pseudo-random addition to the note name - current unix timestamp. This is because buttons can't create notes that already exist, so we need some differentiation. - Dataview block under Meetings then shows all Meeting notes for given day & as a quick reference also lists all the outlinks from that note, which is quite handy for quick overview of that meeting.
- Button & Dataview block for Notes is very similar to those from Meetings.
Rationale
- I find it handy to display all tasks scheduled for today as well as those scheduled for the past all the time, so that I can keep track of all the overdue items.
- Meetings & Notes are created with unix timestamp in their name only for the sake of file name collision. First thing I will rename them.
- Although I could query by filenames, Meetings & Notes do have the
when
metadata included, because I assume that at any point in time I can decide to rename them, so I don't want to lose the relationship to the calendar. - All meetings live in a
/Meetings/
subfolder. Notes are just any generic ideas I need to write down. But I still do want it to be attached to a day. - Displaying Outlinks in the Meetings & Notes is quite handy for quick context awareness.
Screenshots
Daily
Meeting
Note
Photo by Avonlea Jewelry on Unsplash
Top comments (9)
{{date:YYYY-MM-DD}}
placeholders will not work for Templater community plugin, it works with Template Core plug-in.Use
<% tp.date.now(“YYYY.MM.DD”) %>
instead for the Templater community plugin.Thanks for the great post!
This is exactly what I wanted do XD (collecting daily note into weekly automatically with each block viewed collectively)
Just a small addition to your post. I spend a bit of time as tasks did not render until I found out tasks plugin is required. Adding 'tasks' into the required plugin will be more helpful for others too.
Anyways, totally loved your style of writing in detail: how-to, screenshots, and why!
😊 Happy that the post was useful. It's awesome to see that in some way or the other it's useful to someone 💫
Thanks for the feedback, will add the plugin to the list.
Hello, can you share a template warehouse? Thank you
I'd be happy to do it, but no idea what does "template warehouse" refer to?
Thank you for your sharing. As someone with limited understanding of coding, I spent some time attempting to achieve the effects mentioned in your post but without success. It would be greatly appreciated if you could provide a configuration document that is easy to use—just a simple copy and paste, with the option to make minor adjustments based on individual needs. While I understand this may require some effort on your part, I truly appreciate it.
Here you go: gitlab.com/michal-bryxi-oss/fully-...
You're greatly appreciated.
Hi, I am new to Obsidian. I have tried to open the zip folder as a brand new vault. I, however, encounter the following errors. Not sure what is wrong? The template is amazing btw!