This is an (in-progress) infobox for Trilium Next Notes.
- Create a new note somewhere (preferably under a
Scriptsnote or something to keep everything organized) - Create a new note called
Infobox - Create a new note under
Infoboxcalledtemplateand make theNote TypeHTML - Create a new note under
templateand call itjsand make theNote TypeJS Frontend - Create two new notes under
js. Call the first onedayjs_plugin_relativeTimeand call the second onedayjs_plugin_advancedFormat. Set bothNote Types toJS Frontend - Add a new Relation to the
Infoboxnote (not thetemplatenote!). The Name will berenderNoteand the Target Note will be thetemplateyou created in step 3. This tells Trilium to render the HTML, instead of just displaying the raw text
At this point, your folder structure should look like this:
Scripts or wherever you're storing this
└── Infobox (Type: Render Note)
└── template (Type: HTML)
└── js (Type: JS Frontend)
├── dayjs_plugin_relativeTime (Type: JS Frontend)
└── dayjs_plugin_advancedFormat (Type: JS Frontend)
- Copy and paste the code from
template.htmlin this gist into thetemplatenote you created in step 3 - Copy and paste the code from
js.jsin this gist into thejsnote you created in step 4 - Copy and paste the code from this file into the
dayjs_plugin_advancedFormatnote you made in step 5 - Copy and paste the code from this file into the
dayjs_plugin_relativeTimenote you made in step 5
Now you have all the files you need to get started.
This relies on three labels, DateOfBirth, DateOfDeath and Address. It's best to add them to a template note so you don't have to recreate them every time. My label code looks like this:
#label:DateOfBirth(inheritable)="promoted,alias=Date of Birth,single,date" #label:DateOfDeath(inheritable)="promoted,alias=Date of Death,single,date" #label:Address(inheritable)="promoted,alias=Address,single,text"
- Go to the note you want to add this to or create a new note with those three labels
- Use the
Include Notebutton in the toolbar and add your Infobox note:

This is a work in progress. It may throw up errors or not work entirely. It currently doesn't work with multi-value labels, and there may be much better ways to accomplish this, but it works for my needs.
This is great. The instructions work well and are pretty clear. I can think of a lot of things I would do with this capability.
If I were to suggest improvements, I can think of two. (I know you just got started on this prjoect, so those tips are intended to help, not complain. I'm really liking the work you've done on this!)
The first would be to break down years into decimals. Right now, it appears you break the year in half. Anything before July 1 adds a year (to the age), and anything after July 1 keeps things with the straight math. For example, when you ask a person born in June 2000 how old they are, you would expect them to say 24 years old. Instead, this InfoBox reports 25 years. If you adjusted this to 24.5 years, it seems like it would give a clearer and more expected result.
The second change would be to have an aggregate list of all the dates from notes associated with InfoBox. That way, you can click on a note similar to "Collection Views" and see all the birthdates and addresses in a single page.
This is great work! Thanks!!!