I would like to set the title of a template to just the current date, but it seems like it’s not possible. Is there a specific metadata syntax to specify the title?
There isn’t, but Joplin should will take the first line of text to be the title of none is provided. You can just put the date there.
It seems like it uses the title as the first line only when exporting. It does not take the first line of an imported .md file as title. I just get a note with a blank title and the rest in the body when I attempt that.
I have tried to input some metadata according to MMD format but it doesn’t seem to work.
@Aeter have you checked the issue tracker on GitHub for that? Sounds like a bug
@Aeter It seems like maybe I’m misunderstanding what you are asking about. So let me clarify what I meant and perhaps it will solve you problem, or you can let me know what you need.
When creating a new note in Joplin (either from a template or blank) if the title is left empty than the title field autofill with the first line of the note. This means that we can create a template where the first line is simple an auto filled date. To test I used the following
{{date}}
Some other template stuff
Which when used to create a new note resulted in the following
I believe this is the behavior that you’re looking for. If it’s not please provide some details about what you’re looking for. Examples help.
One thing to note about the above example, Joplin doesn’t autofill the name until there is some user input into the note, this means that you’ll need to start adding content to the note.
@CalebJohn, i could be wrong, but I’m getting the impression that he’s asking why importing notes with no title doesn’t automatically fill in a title from the first line. If what you said is true, that makes sense, but could there be an option to fill in a title on import if it’s blank? At least that’s how i read his response.
This is the behavior I want, but it seems like it doesn’t happen in my case. When I start editing the body, the title switches to Untitled.
I’m working with very simple templates structured like
# {{#custom_datetime}}MMMM DD, YYYY{{/custom_datetime}}
{{time}}
Actually this happens with all notes. If I open a blank note and type in, it’s saved as Untitled.
Oops right, this was an issue introduced by an update a little while back. It should be fixed in the latest version (v1.0.201). If you update and still have issues we can re-open that bug report.
I don’t think this is possible since importing a markdown down pulls the title from the filename. Maybe it’s possible to have an empty filename in a jex archive, but that almost seems like intended behavior.
Most likely. Thanks
I can confirm that it’s fixed in the latest update. It works correctly now. Thanks!
Hi all,
nice and useful feature! Now, I can apply my template to to-do and title them with ISO formated date, even the time.
@grwydraurd
Ok. I am intrigued. Is there any particular reason you have placed a link to a Chick-fil-a customer survey site in your post?
Is the above tip still working to "automatically fill the title field" in new notes created from templates? it doesn't seem to be working for me with an up-to-date joplin on a mac.
I am using the "templates" plugin, and in my meeting template, I tried adding the following as the first line:
{{#custom_datetime}}[]YYYY[-]MM[-]DD[ ]HH[:]mm[]{{/custom_datetime}}
and then I removed the title of the template note (originally it was meeting_us.md). When I create a note with this "unnamed template", I do get the meeting template applied, but the Title field is not autofilled. Even after editing the note and adding content to it, it still shows as "Untitiled".
It would be nice to have some flexible way to auto-populate the title field for notes created from templates
Hi @Ari,
I think you could use the special variables as described in the plugin documentation, here.
Trying them, with the content below, I got a new note with a title built according to the variables.
---
template_title: {{#custom_datetime}}[]YYYY[-]MM[-]DD[ ]HH[:]mm[]{{/custom_datetime}}
---
Note body
{{#custom_datetime}}[]YYYY[-]MM[-]DD[ ]HH[:]mm[]{{/custom_datetime}}
Hi @betternote,
I've tried that exact syntax but I get an error:
There was an error parsing this template, please review it and try again.
Error: Parse error on line 3:
.....template_title: {{#custom_datetime}}[
-----------------------------------------^
Expecting 'ID','STRING','NUMBER','BOOLEAN','UNDEFINED','NULL','DATA',got 'INVALID'
I've tried all sorts of variations but can't seem to figure out what's going wrong. I've done everything according to the docs..?
Hello @ronnybugle,
I don't know what to tell you. I use this syntax regularly in several of my templates, without any problem.
If you got the code by copy and paste, try typing it in your note. Maybe there's a bad character in there.
There should be no line breaks or spaces in the code.
It must be inserted at the top of the note, between 2 lines of dashes
`---
template_title: {{#custom_datetime}}[]YYYY[/]MM[/]DD{{/custom_datetime}} Some text
---`
Hi @betternote,
I don't use the US date format. So I think the issue is that when I try to have DD/MM/YYYY instead it errors. Do you have any idea how I can format the date as "Friday 20th December 2022" please?
I've found this formatting reference for handlebar.js: https://docs.celigo.com/hc/en-us/articles/360045564992-Handlebar-expressions-for-date-and-time-format-codes
but I can't get it to work.
In fact, what I've found is that if I paste in something and it works and then I change it to something that doesn't work, then change it back to what worked initially (your example) then that doesn't work either.
---
template_title: {{#custom_datetime}}dddd Do MMMM Y{{/custom_datetime}}
---