quickadd icon indicating copy to clipboard operation
quickadd copied to clipboard

[BUG] Template variables not processed?

Open nousernameavailableanymore opened this issue 2 years ago • 1 comments

Maybe I m doing something wrong here (new to the plugin). I created a "Template" Quick add and selected the template from the list (using the Obsidian core plugin, NOT templater). However, template variables like {{title}} are not being processed. When I run the Obisidian command to add the template to the current note, it works fine

To Reproduce Steps to reproduce the behavior:

  1. Create a template (with core plugin) using variable {{title}} somewhere in the template
  2. Create Quick Add Choice of type "Template"
  3. Select the template created in 1.
  4. Run the Quick Add command

Expected behavior New note gets created using the specified template. {{title}} variable gets replaced with actual value.

Actual behavior New note gets created, however {{title}} does not get replaced.

Just wanted to add that this also doesn't work with the other template variables: {{date}} {{time}}.

webdavis avatar Sep 12 '22 02:09 webdavis

This is happening to me too.

spiderman-idog avatar Oct 11 '22 22:10 spiderman-idog

I have this problem, too. {{title}} stays as {{title}}

GinoReiji avatar Oct 19 '22 00:10 GinoReiji

Confirm, it does not work for me too. I installed latest version. When you install community plugin "Templater " and change the variable code from [[title]] to <% tp.file.title %> then it works.

mpietrusa avatar Oct 23 '22 17:10 mpietrusa

Just wanted to add that this also doesn't work with the other template variables: {{date}} {{time}}.

I got it working with {{DATE:YYYY/MM/DD}} at {{DATE:HH:mm}}. Looks like this uses a different style: Format syntax | QuickAdd; bit annoying that this plugin doesn't at least convert for the built-in variable defaults.

Amparose avatar Nov 23 '22 12:11 Amparose

Hi everyone, thank you for contributing to the discussion here!

This isn't a bug. It is intended. I can see, however, that this is something which could contribute to the experience of using QA.

There are two reasons why I haven't implemented this already:

  1. Obsidian is closed-source, so it isn't as simple as just invoking the core plugin (as it is with Templater) and having it do it.
  2. The title is an issue. The reason it works with <% tp.file.title %> (Templater) is because that is done after creating the note. QuickAdd tries to do things before actually creating the note.

As a compromise, I have allowed all format syntax to be lowercase as of #326, or v0.7.0. Meaning, {{DATE}} is now equivalent to {{date}}.

That leaves {{time}} and {{title}}. As @Amparose mentions, you can use {{DATE:YYYY/MM/DD}} and {{DATE:HH:mm}} (or lowercase now) for {{date}} and {{time}}, respectively. This was the indented use from the start.

I may implement {{title}} at some later date. Please track #327 for this.

Again, thank you everyone for contributing! It is very much appreciated.

chhoumann avatar Nov 23 '22 15:11 chhoumann