Default template for new note (cltr-n, click to non-existing note)

I created an account just to send a like here and begging for it → +1

1 Like

+1 please :slight_smile:

1 Like

I don’t understand why people continue to add +1. +1 does nothing, it’s by no means a tool to track how many people want this feature.

Just upvote this feature request clicking on the heart of the first post.

2 Likes

Solution: (at least partially)
Templater plugin.

in the setting, “Folder Template” section, click “Enable Folder Templates”,
for each folder, you can specify a template for notes created in that folder.

for PARA, assign a template to the INBOX folder.
for Zettelkasten style, assign a template to that folder.

1 Like

Since this is the one true feature request, what will it take to get this seemingly highly desired and fairly simple feature?

Use case or problem

When I create a new note, I would like that note to have a template auto-populated.

For me, I’d just add the simplest template possible.

---
created: {{date}}
---

Proposed solution

Just add this:

Current workaround (optional)

“Ya know…I think Templater does that.” Yes I know. But Templater is super intimidating to me and for everyone who doesn’t know how to code.

It’s like taking Iron Man to a knife fight…a bit much.

So we’re stuck having to manually insert a template into every note we make. The pain point is real and hurts the future-proofing aspect of knowledge management because, as many of us know, we can’t trust that the file system’s creation date will always remain accurate.

In this writer’s opinion, this simple feature can go a long way towards allowing Obsidian to be more inviting to newer users.

2 Likes

I propose new default property called note id that would be set automatically by Obsidian and it would be read‑only. Note id could be used implicitly in dynamic inline queries in Dynamic views. This would be useful in case of these inline queries are written outside Obsidian or if external programs are used to produce queries for Dynamic views. In the context of external programs it should be obvious that notes are identified using their id. Dynamic views could use comments to automatically store current note names. That way the code is easy to read but the syntax itself contains only id. Some algorithm could be used to produce proper variable names for note id. The combination of that variable naming algorithm, note ids and comments would make the dynamic views inline code highly compatible with external coding tools.

1 Like

It would also make Properties second-nature to use.

Also looking for this. After more than 3 years and so many requests for this feature, there must be a good reason they’re not adding it?

This could be a new setting in Settings → Files and links that determines which template is used for new notes—however similar feature is already implemented by the Unique note creator core plugin which is not enabled by default. It is not obvious what templates are useful and should Obsidian hard code file metadata to the YAML block or not. I think using Unique note creator is a good long term solution since this approach separates notes created from links.

The topic is broad because file templates includes the YAML block. More useful topic would be to discuss about default properties for new notes. That topic is separate from file templates used to create notes. See also Make file metadata and properties separate concepts

1 Like

@blue_emperor @dawnfantasy

Do either of these solutions allow me to specify a template globally instead of folder by folder?|

Can I make it automatic for every new note instead of with a command from the command palate?

Related question, is there any equivalent of something like .gitignore to either prevent my templates from uploading to Obsidian Publish or to just make them invisible to anyone browsing the site?

The template you use in Unique note creator will be available globally regardless the folder you are currently.

No unfortunately this is exactly the feature of this topic, unique note creator implements its own command that is isolated from other note creation. However you can possibly use Shell commands community plugin to

  1. monitor file creation events https://publish.obsidian.md/shellcommands/Events/File+created
  2. pass a template to stdin https://publish.obsidian.md/shellcommands/Variables/Pass+variables+to+stdin
  3. output to current file https://publish.obsidian.md/shellcommands/Output+handling/Output+channels

Example:

echo {{clipboard}} >> MyNote.md <-- existing note
1 Like

No unfortunately this is exactly the feature of this topic, unique note creator implements its own command that is isolated from other note creation. However you can possibly use Shell commands community plugin to

Sorry, thought it was possible with plugins.

There must be some reason they don’t add this feature? It seems like so many people want it.

I think the reason is very obvious. File content and properties along file metadata are all tightly connected and Obsidian allows direct YAML editing which implies customizable content. The ability to customize YAML without any restrictions in source mode implies that properties are not currently designed to hold file metadata values. That is very significant thing in Obsidian since YAML could be used to implement regular file metadata such as file created or file modified. Because Obsidian already implemented YAML as a way to users add customizable content, some other technical framework is needed to implement direct access to traditional document metadata. This could be implemented by special YAML variable names such as _obsidian-file-metadata-file-created and then hide these special YAML variables in the editing mode.

1 Like