Dynamically Embedding all daily notes?

I’m new to Obsidian and not actually setup to use the system fully yet. In porting over my current workflow from another system, I’m trying to understand how I can change/optimize for Obsidian. Specifically in question is what I think ya’ll would call daily notes. Each time I meet with someone, I create a new note, under their folder.

Is it possible for me to create an “index” note that embeds (includes) all the text from all the days notes with that person? I’ve found Dataview and Text Expander plugins but neither seem to be quite there.

With dataview I can do:

FROM "Scott"
WHERE startswith(file.name, "2024")
SORT file.name DESC

That does a perfectly great TOC style list to every page, but isn’t an embed. Based on a lot of research I ended at this github feature request which indicates its not possible out of the box? Unless you use some horrifically huge amount of javascript? maybe?

The other side is Text Expander.

path:Scott/ "2024"

While this isn’t truly dynamic, it’s dynamic enough to work for my needs. The only problem is that there doesn’t seem to be any option to control the search query order? So everything is exactly backwards of what I was hoping for.

Appreciate anyones help on this. I’ve spend the last few hours googling/foruming/etc and … I think the answer is I can’t do what I want (and if that’s the answer, so be it), but I figured I’d ask.

You might be able to make the Waypoint or Zoottelkeeper plugins generate a list of embeds instead of links.

Otherwise, it might be possible to use Templater to do it. It would probably be more arcane than the above, and you’d need to rerun the template to pick up changes.

Some less close matches:

  • Tagged Documents Viewer is in the ballpark.
  • Multiple Notes Outline doesn’t show the whole content.
  • There are a few plugins that do what you want for daily notes, but they require the Daily Notes core plugin or the Periodic Notes community plugin, and your setup doesn’t quite fit in that structure (a single folder holding 1 note per time unit, not multiple folders doing that).
1 Like

Thanks @CawlinTeffid ! I appreciated the leads to chase down. Overall the answer to my question of “Dynamic embed” is a no, at least today. At least not in the way I was hoping and not without major kluding. But in case anyone else ends up looking at this point:

  • Dataview is list only. You can customize the links using “WITHOUT ID” syntax, but embed doesn’t fly.
  • Waypoint - Generates a list that’s more detailed than dataview, including subheadings. But no embed option (that I can find).
  • Zoottelkeeper - It’s 2+ years out of date already so I didn’t even bother.
  • Text Expander - We’ll call this “semi-dynamic” because you need to push the button to refresh, but that’s ok. It does embed, based on a dynamic list, which is great! With the one major caveat is that there is no ability to sort the results (which I needed).
  • Templater - It’s not dynamic at all, but I decided this was the route to take.

Using templater I have a folder and a note for that person (using the Folder Note plugin with “Folder Name Outside”). Each time I meet with that person I trigger Templater to insert my “Meeting Embed” template:

let folder = tp.file.folder(true);
let date = tp.date.now();
let name = tp.file.title;
let tFolder = app.vault.getAbstractFileByPath(folder + "/" + name)
tp.file.create_new(tp.file.find_tfile("MeetingSeries"), date, true, tFolder);

tR = "\n## "+date+"\n![[" + tFolder.path + "/" + date + "|" + date + "]]";

This inserts an H2 with the date, along with a link to the date based file. Then it creates said dated file (using a template, which is un-important) in the subfolder and opens it for me.

So the embeds aren’t truly dynamic, but I’d have to create the individual file somehow, and this process wraps it all up into one easy to trigger step. At the end I have a file with the persons name, that lists ALL of their meetings with ALL of the contents, and individual files for each meeting.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.