How to retrieve a list of Markdown files starting with a given string for embed links in a template?

Things I have tried

I have looked at the Templater and Dataview plugins without success.

What I’m trying to do

Context

I have a long list of files named "Meeting - xyz - " (for instance: [[Meeting - All-Hands - 2022-04-02]]). All these files have a section “## Summary” at the bottom of the file.

Aim

I want to have a “template - meeting” file in Templater that would automatically embed the “## Summary” section from the most recent files whose name starts with the same “Meeting - xyz”.

Example

As an example, if I have files “Meeting - All-Hands - 2022-01-23” and “Meeting - All-Hands - 2022-02-25”, applying the “template - meeting” on the file “Meeting - All-Hands - 2022-03-30” should automatically add to the “Meeting - All-Hands - 2022-03-30” the following text:
![[Meeting - All-Hands - 2022-02-25#Summary]]

3 Likes

Being able to do this would be helpful. This may be a feature request or plugin idea.

You are able to automatically generate an index of a folder with Waypoint plugin, among others. However that would just be a list of links not embeds.

Manually, you could copy those automatically generated indexes and paste them into a new note. In the new note you could Search and Replace [[ with ![[.

I am interested if someone has a good solution or if you make a request. Good luck!

Thanks.

This may work, even though it is not possible to embed text with dataview queries (maybe dataviewjs?) The best solution I could’ve found is linking just the header and hovering over while pressing ctrl so it’ll show a preview. Also, be wary of uppercase and lower case. I tried putting the code as you have typed it, but if there’s some difference it won’t work since queries are case sensitive
Also if you want to be able to see more of your meeting notes, change the LIMIT factor

TABLE WITHOUT ID link( file.name + "# Summary", string(file.cday) ) AS summary
WHERE startswith(file.name, "Meeting")
SORT c.day DESC
LIMIT 1
2 Likes

Thank you for your answer.

I have been plying with dataviewjs and found a buggy/unstable solution:

```dataviewjs
dv.paragraph(dv.fileLink(""+dv.pages().file.name.where(t => t.startsWith("<%leftOfDate%>")).sort(b =>b, "desc")[1]+"#Summary"+"",true))

where leftOfDate is the part of the title of the file between the date (“Meeting - All-Hands” for the example I gave above).

This somehow works but it often requires the page to be opened twice before it works correctly. Sometimes it works only in preview mode, sometimes not… (Is is possible to embed the files in the list view ? · Issue #177 · blacksmithgu/obsidian-dataview · GitHub, dataviewjs, embedded note disappears after 2 seconds · Issue #781 · blacksmithgu/obsidian-dataview · GitHub)

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