All of my notes have a unique identifier, which functions as the note id
as well as the filename. For example, the filename might be 20210706211400.md
and in the frontmatter of that note, amongst other key/values, there will be an id
key/value that matches the filename:
id: 20210706211400
I reference other notes using these ID’s with a so-called Wiki-Link syntax. So in reference to another note I might write [[20210615200150]]
and my template will link to that note.
What I am trying to do is find all of the Wiki-Links in a post, loop through them, and read the .Title
and/or .Summary
. With the aim of then being able to use that information in a tooltip or popover when a Wiki-Link is clicked on. I’ve not had any luck doing so.
Here is what I am doing to make the Wiki-Links work (the popover works just fine, but the content obviously doesn’t yet reflect the actual content of the post the Wiki-Link refers to:
{{
.Content
|
replaceRE "\\[\\[([0-9]+)\\]\\]" "<a class=\"wikilink\" tabindex=\"0\" role=\"button\" data-trigger=\"focus\" data-content=\"<content placeholder>\" title=\"<title placeholder>\">$1</a>"
|
safeHTML
}}
This is what I’m trying to play around with to get the title and summary from the list of ID’s. I’m hoping I can then create some variables from it that I can then pass into the above block.
I don’t know how I can tell Hugo that each string in the below list is a post, and to lookup the values I need from it.
{{ $entryLinks := findRE "\\[\\[([0-9]+)\\]\\]" .Content }}
{{ range $entryLinks }}
<li>{{ . }}</li>
{{ end }}
This prints out the ID’s, but obviously it’s just a list of strings and Hugo has no idea that there’s a post behind the ID that I want to access.
<li>[[20210623095113]]</li>
<li>[[20210624101730]]</li>
<li>[[20210706103710]]</li>
<li>[[20210611154055]]</li>
<li>[[20210619132455]]</li>
Any help would be much appreciated, do ask if anything isn’t clear.