github chhoumann/quickadd 2.0.0

latest releases: 2.1.0, 2.0.2, 2.0.1...
one month ago

2.0.0 (2025-08-06)

🎯 Major Features

🔔 Capture Confirmation Notifications

Resolves: #180

QuickAdd now provides visual confirmation when content is captured, giving you immediate feedback on successful operations.

Example:

✓ Content captured to "Daily Notes/2024-01-15" under heading "## Ideas"

📋 Enhanced Clipboard Integration

Resolves: #88

New {{CLIPBOARD}} format syntax allows you to directly insert clipboard content into your templates and captures.

Example:

## Research Notes
Source: {{CLIPBOARD}}
Date: {{DATE}}

E.g. when you have a URL copied, this automatically pastes it into your template.


📁 Enhanced File Opening Options

Resolves: #880

Templates and captures now support flexible file opening with configurable view modes and locations.

New Options:

  • Open in new tab
  • Open in new pane (vertical/horizontal split)
  • Open in new window
  • Open in source/preview/reading mode
image

🎲 Random Number Generator

New {{RANDOM:n}} format syntax generates random alphanumeric strings of length n.

Examples:

Random ID: note-{{RANDOM:10}}

📝 Rich Text Paste Command

Resolves: #869

New "Paste with format" command preserves rich formatting when pasting from external sources like web pages or documents.

Use Case:
Copy formatted text from a website → Run "Paste with format" → Maintains headings, bold, italic, and links


🔗 Configurable Link Placement

Resolves: #874

Control where links to created files appear relative to your cursor/selection:

  • Replace selection - Replace the current text selection with the link (default)
  • After selection - Insert the link after the current selection
  • End of line - Insert the link at the end of the current line
  • New line - Insert the link on a new line below
image

📂 Open File Command for Macros

Resolves: #871

New macro command to open any file in your vault programmatically.

Example Macro:

1. Create daily note from template
2. Open file: "Templates/Dashboard.md"
3. Run Obsidian command: "Split vertically"

🏷️ Enhanced Title Format Syntax

Resolves: #863

New {{title}} format syntax provides the rendered filename without extension.

Example:

File: "2024-01-15 Meeting Notes.md"
Template: # {{title}}
Result: # 2024-01-15 Meeting Notes

📅 VDATE Improvements

Live Preview in VDATE Modal

Resolves: #796

See real-time preview of your date format as you type in the VDATE modal.

image

Default Values for VDATE

Resolves: #868

VDATE variables now support default values, reducing prompts for common dates.

Example:

{{VDATE:Meeting Date,YYYY-MM-DD|today}}
{{VDATE:Due Date,MMM Do|tomorrow}}

🔍 Enhanced Suggester API

Custom Input Support

Resolves: #879

Allow users to enter custom values in suggester prompts, not just predefined options.

Example:

const customTag = await this.quickAddApi.suggester(
  ["work", "personal", "urgent"],
  ["work", "personal", "urgent"],
  "Select or enter a tag:",
  true // allowCustomInput
);

Docs: https://quickadd.obsidian.guide/docs/QuickAddAPI#suggesterdisplayitems-string--function-actualitems-string-placeholder-string-allowcustominput-boolean-promisestring

Placeholder Support

Suggester now supports placeholder text for better UX.

image

🔧 User Script Management

Browse Button for Script Selection

Resolves: #842

Visual file browser for selecting user scripts instead of manual path entry.

image

🐛 Major Bug Fixes

Templater Integration Fixes

Resolves: #787, #793, #795, #801, #809

  • Fixed Templater commands not executing with "Insert after" option
  • Resolved tp.file.cursor() positioning issues
  • Fixed tp.date.now and other date commands
  • Templater commands now process before capture content is added

Example of fixed behavior:

<!-- Now works correctly: -->
<% tp.date.now("YYYY-MM-DD") %>
<% tp.file.cursor() %>

Tag Selection and Input Fixes

Resolves: #845, #847, #859

  • Fixed double hashtag appearing in tag completion
  • Resolved tag selection truncation in text input fields
  • Tag hints now appear correctly when typing "#"

Insert After Priority Fix

Resolves: #876, #181

"Insert After" now correctly prioritizes exact matches over prefix matches.

Fixed Example:

## Done ← No longer incorrectly matched
## Do ← Now correctly targeted when searching for "## Do"

Unicode Field Name Support

Resolves: #852

Fixed regression where non-ASCII characters in field names weren't recognized.

Now Working:

{{FIELD:经验归类}}
{{FIELD:תאריך}}
{{FIELD:Αρχή}}

Dynamic Choice Name Resolution

Resolves: #870

Macro lists now dynamically update when choice names are changed.


Empty String Variable Handling

Resolves: #872

Empty string variables no longer trigger unnecessary prompts.

Example:

// No longer prompts when value is ""
variables: { note: "" }

🏗️ Architecture Improvements

Simplified Macro Architecture

Breaking Change in #858 - No action required

Simplified how macros work to reduce complexity and clicks:

What changed:

  • The separate "Macros Manager" has been removed
  • Macros are now created and edited directly within their choices
  • One less layer of indirection = fewer clicks to manage your macros

What stays the same:

  • ✅ All your existing macros continue to work exactly as before
  • ✅ Automatic migration handles everything for you
  • ✅ No changes needed to your workflows

Only limitation:
Macros must now be attached to a choice in your QuickAdd menu (they can no longer exist as standalone items)
This happens automatically.

Why this change was made:
Previously, you had to: Create macro → Create macro choice → Link them together. Now you just create a macro choice with the macro built in. Simpler and faster!

image

Natural Language Date Processing

Replaced Natural Language Dates plugin dependency with chrono-node library for better reliability and performance.


Icon System Modernization

Resolves: #850

Replaced FontAwesome icons with Obsidian's built-in Lucide icons for consistency and smaller bundle size.


📚 Documentation Updates

Comprehensive User Scripts Documentation

Resolves: #881

New detailed guide for creating and using user scripts with QuickAdd.

Topics Covered:

  • Script placement and organization
  • API usage examples
  • Common patterns and best practices
  • Debugging techniques

Field Exclusion Filter Documentation

Resolves: #864

Documentation for excluding specific folders from FIELD checking.

Example:

{{FIELD:fieldname|exclude-folder:Templates|exclude-folder:Archive|exclude-folder:.trash}}

🎨 UI/UX Improvements

Consistent Modal Button Spacing

Resolves: #843

Improved visual consistency with proper gap spacing between modal buttons.

Notes

  • feat!: remove macro indirection by embedding macros directly in choices (17b8f36), closes #543

Bug Fixes

  • commands now use updated choice settings without requiring toggle (#877) (3443a87), closes #192
  • dynamically resolve choice names in macro lists (#870) (084d951), closes #152
  • empty string variables no longer trigger prompts (#872) (717feef), closes #163
  • prevent {{title}} usage in filenames to avoid circular dependency (8decab6)
  • prioritize exact matches in Insert After functionality (#876) (6fccd33), closes #181
  • process Templater commands in template before adding capture content (a261acb)
  • resolve tag selection truncation in text input fields (#859) (#860) (fccbc71)
  • Restore original import order in main.ts to prevent circular dependency (8bd78cb)
  • use Docusaurus admonition syntax instead of Obsidian callouts (fd90624)

Features

  • add {{CLIPBOARD}} format syntax element (64639e4), closes #88
  • add {{RANDOM:n}} format placeholder (#865) (1c138df), closes #47
  • add {{title}} format syntax for rendered filename (#863) (1dda47f), closes #327
  • add allowCustomInput parameter to suggester API (#879) (a6c52ab), closes #219
  • Add capture confirmation notifications (#180) (#875) (1814873)
  • add configurable link placement options for capture and template choices (#874) (3611121), closes #166
  • Add default value support to VDATE variables (#868) (c722b84)
  • add Open File command for macros (#871) (e31460f)
  • add paste with format command for rich clipboard content (#869) (cf0ef23), closes #93
  • Add simple placeholder support to suggester API (2836e47)
  • auto-open existing files when using template choices (#867) (98ac309), closes #61
  • Enhanced file opening with flexible location and view mode options (#880) (3b82525)
  • vdate: add live preview for VDATE modal (0b9cea4), closes #796

BREAKING CHANGES

  • Stand-alone macros are no longer stored or referenced.
    All existing macros are migrated into their corresponding MacroChoice.

Don't miss a new quickadd release

NewReleases is sending notifications on new releases.