github chhoumann/quickadd 2.12.0

9 hours ago

2.12.0

✨ New Features

.base Templates Become Reusable QuickAdd Building Blocks

QuickAdd now supports .base files as first-class Template choices, which
opens up a much bigger workflow than “new file type supported.”

You can now:

  • create real .base files directly from Template choices
  • reuse .base templates inside Capture formats to insert Base content into
    the active Markdown note with {{TEMPLATE:...}}
  • insert live Base-powered sections into existing Markdown notes like MOCs,
    dashboards, and project hubs

This is especially useful when you want to keep a reusable Base definition in
Templates/ and stamp it into the current note on demand. For example, you can
keep a Related Notes.base template and use a Capture choice to insert that
Base block into an MOC, so the query resolves in the context of the note you
are currently editing.

Example:

## Related Notes

```base
{{TEMPLATE:Templates/MOC Related Notes.base}}
```

Important distinction:

  • Template choices can create .base files directly
  • Capture choices do not write directly to .base files as
    destinations
  • Capture choices can insert .base template content into Markdown
    notes, which is the key workflow unlock here (#1122)

Capture Directly Into Canvas Cards

QuickAdd now supports two Canvas capture workflows:

  • capture into one selected card in the active Canvas
  • capture into a specific node inside a chosen .canvas file

Supported targets:

  • text cards
  • file cards that point to Markdown notes

To use it, either enable Capture to active file while a Canvas card is
selected, or, with Capture to active file off, point Capture To at a
.canvas file and choose Target canvas node. Canvas supports Top,
Bottom, and After line write modes. Cursor-based modes are still not
valid there, and QuickAdd now tells you exactly why if the current setup is
unsupported.

When QuickAdd updates a configured Canvas text node, it now preserves
Obsidian’s tab-indented .canvas formatting, reducing noisy
whitespace-only diffs. (#1124, #1125)

Run QuickAdd From The Obsidian CLI

QuickAdd now registers native Obsidian CLI handlers on supported Obsidian
versions, making shell scripts and automation workflows much cleaner.

New commands:

  • quickadd / quickadd:run
  • quickadd:list
  • quickadd:check

Examples:

  • obsidian vault=dev quickadd choice="Daily log"
  • obsidian vault=dev quickadd:list type=Capture
  • obsidian vault=dev quickadd:check choice="Daily log"

Variables can be passed with value-<name>=..., extra key=value params, or
vars='{"project":"QuickAdd"}'. By default, CLI runs are non-interactive: if
required inputs are missing, QuickAdd returns structured JSON instead of
opening prompts. Multi choices are still interactive and cannot be run or
checked via CLI, but quickadd:list includes nested choices inside multis.
Requires Obsidian 1.12.2+. (#1129)

VALUE Suggesters Can Show Friendly Labels While Inserting Different Values

{{VALUE:...}} option lists now support |text: so you can decouple what
users see in the suggester from what QuickAdd actually inserts.

Example:
{{VALUE:🔼,⏫,🔽,⏬|text:3-Normal,2-High,4-Low,1-Urgent}}

This is useful when you want readable labels in the picker but prefer compact
symbols, codes, or machine-friendly values in the final note. If you also use
|custom, custom typed input is inserted as-is. Current limitation: commas and
pipes inside individual labels/items are not supported yet. (#1127)

New Macro Cursor Navigation Commands

Macros now include four new editor commands:

  • Move cursor to file start
  • Move cursor to file end
  • Move cursor to line start
  • Move cursor to line end

These make editor automation easier to compose, especially when combined with
paste, selection, and formatting steps. (#1113)

AI Request Logs For Script Authors

If you build AI-powered QuickAdd workflows, quickAddApi.ai now exposes recent
in-memory request logs with request IDs, prompts, model info, duration, usage,
and errors.

New helpers:

  • getRequestLogs(limit?)
  • getLastRequestLog()
  • getRequestLogById(id)
  • clearRequestLogs()

QuickAdd also reduces assistant progress-noise when assistant messages are
disabled. (#1110)

🐛 Bug Fixes

Template Destination Paths Are Now Predictable

When Create in folder is off, Template choices no longer duplicate folder
prefixes if your File name format already contains a vault-relative path.
This fixes notes being created in the wrong place when the formatted name was
already fully qualified. (#1118)

Insert-At-End Captures Preserve Spacing And Order

Repeated captures into the end of a section now behave correctly even when the
file ends with blank lines or the capture format does not end with a newline.
This fixes both collapsed spacing and out-of-order insertions. (#1119, #1120)

FIELD Suggestions Can Opt Into Inline Values Inside Specific Fenced Blocks

When inline scanning is enabled, QuickAdd can now include Dataview-style inline
fields from specific fenced block types that you explicitly allow, for example
{{FIELD:Id|inline:true|inline-code-blocks:ad-note}}. Default behavior is
unchanged unless you opt in. (#1128)

Capture Respects Explicit File Extensions

Capture now preserves explicit supported extensions like .md and .canvas,
normalizes titles properly for non-Markdown targets, and gives a clear error if
you try to use .base as a direct capture destination. (#1122)

Better Existing-Tab Matching

QuickAdd is now more reliable when reusing an already open tab for a file,
especially when equivalent paths differ slightly in shape or formatting.
(#1108)

Don't miss a new quickadd release

NewReleases is sending notifications on new releases.