Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
In-progress
1.5.1 - 2026-09-26
-
Feature: Interactive tasks — Task checkboxes in a rendered
mocblock now write back to their source note. Clicking a checkbox toggles the matching- [ ]in the original file, and the block's existing auto-refresh reconciles the view. Works for nested subtasks, ordered-list tasks, and tasks inside extracted headings, blockquotes and callouts. Writes are guarded by a source-line match, so a stale block can never overwrite a newer edit. Blocks render their checkboxes disabled whentemplateorapplyFnRactually rewrites the matched text, since rewriting breaks the mapping back to source lines; output that comes back unchanged stays interactive. Can be turned off with the new Interactive tasks setting. -
Feature: Jump to source — Every matched block now renders with a hover-revealed button that opens its source note scrolled to the exact line the block starts at, with mod-click to open in a new pane. Blocks are rendered into individual containers so each one has its own handle, and
blockSeparatorspacing is preserved. Can be turned off with the new Jump to source setting. -
Feature: Separate file and result limits — Added
fileLimit,fileOffset,blockLimit,blockOffsetandblocksPerFile.blockLimitfinally expresses "show me 20 results", which the old file-countinglimitcould not;blocksPerFilestops one busy note filling the whole result window;blockOffsetpaginates results rather than notes.limitandoffsetkeep working as aliases forfileLimit/fileOffset, with the explicit key winning if both are set.showCountnow reports20 of 137 results in 8 fileswhen results were trimmed, and extraction stops reading files once the block window is full. -
UI: Wizard read-only hint — The MOC Creation Wizard now warns inline when a
TaskorListblock is given a template or a find-and-replace rule, since reshaping the output makes its task checkboxes read-only.
1.4.0 - 2026-08-16
- Feature: Copy as Markdown — Added a Copy button to the MOC block toolbar that copies the rendered Markdown output to the clipboard without modifying the note.
- Feature:
properties()comparison operators — Added>,<,>=,<=,!=operators toproperties()filters for numeric and date comparisons (e.g.properties(priority <= 2),properties(date >= "2024-01-01")). - Feature:
templateoption — Custom output formatting for each matched element by referencing a template note (configured via the Template folder setting) whose content uses{{content}},{{file}},{{path}}, and{{link}}handlebars-style placeholders. - Feature:
excludeFolderandexcludeFileoptions — Explicitly exclude specific folders or files from MOC results even when they fall within the configured scan folder. Accepts a single string or JSON array. - Feature:
showCountoption — Appends a result count summary (e.g. "3 results in 2 files") and adds per-group counts whengroupByis active. - Feature:
offsetparameter — Skip a number of files at the start of the result set, complementinglimitfor paginated or windowed result sets. - Feature:
groupBy: property(key)— Group matched results by an arbitrary frontmatter property value. - Feature: Live auto-refresh — MOC blocks automatically re-render (debounced 500 ms) when any Markdown file in the configured folder is created, modified, or deleted.
- Feature: Create showcase command — New "Create showcase" command generates a
MOC Showcasefolder at the vault root with sample notes and pre-builtmocblocks covering every feature, including a dedicated note forblockSeparator/noteSeparatorspacing and dynamic parameters. - Feature: Standardized filters & aliases — Consolidated
has_word,contains,has_textinto canonicalcontains;has_wordandhas_textremain as backward-compatible aliases. - Feature: Robust tag-aware matching —
has_tag()matches exact tags case-insensitively and nested subtags, preventing false positives. - Feature: Enhanced
matches()with regex flags — Slash-delimited patterns with flags:matches("/pattern/i"). - Feature: Context-aware autocomplete — The MOC Creation Wizard hides task-only filters (
is_completed,is_incomplete) when a non-task element type is selected. - UI: Redesigned settings tab — Icon-driven card layout for Templates and Find & Replace, native Obsidian icon buttons in place of emoji, and a cleaner add/edit rule form.
- UI: Redesigned MOC Creation Wizard — Wizard sections (Source, Filters, Shaping, Result manipulations) now use the same icon-driven card layout, with icon buttons replacing text/emoji controls throughout the filter builder and rule chain.
- Fix:
templateoption documentation and showcase example — Thetemplatekey takes the name of a template note (resolved against the Template folder setting), not inline placeholder text. Corrected the showcase's template note (09) and all docs/README references that previously showed inlinetemplate: "..."strings that would fail to resolve. - Docs: Verified versioned Docusaurus deployment workflow and automated changelog syncing.
1.3.3 - 2026-06-30
1.3.2 - 2026-06-30
1.3.1 - 2026-06-30
1.3.0 - 2026-06-30
- Feature: Reusable Find & Replace Rules — Added a rules manager to the settings panel allowing users to define reusable find-and-replace literal or regex transformations. These can be selected via a dropdown in the MOC Wizard or referenced in MOC blocks using
applyFnR: <RuleName>(or sequentially chained using array syntax likeapplyFnR: [<rule1>, <rule2>]). - Feature: Decoupled Block & Note Separators — Added support for configuring separators at two levels: between adjacent matched blocks in the same note (
blockSeparator) and between different note sections (noteSeparator). Users can configure both separators to beNone,Divider line(inserts---), orEmpty linethrough dropdowns in the MOC Wizard or YAML keys.
1.2.7 - 2026-06-29
- Added attestation to remove the obsidian auto-review bot warning
1.2.6 - 2026-06-29
1.2.5 - 2026-06-24
- Add automated tests covering MOC filter parsing, boolean filter composition, property-based filters, and malformed filter handling.
- Refresh the README to document the current MOC block schema, advanced filtering, result shaping options, the MOC Creation Wizard, and Bake to Markdown.
- Add support for configuring groupBy, sort, and limit directly from the MOC Creation Wizard.
- Document the repository’s Jules task workflow and issue queue setup in the README.
1.2.4 - 2026-06-16
- Misc: Removed documentation from
mainandDevbranches, moving it to a newdocsbranch. Updateddeploy-docsworkflow to trigger on push todocs. - Chore: Fix ESLint warnings — Fixed the empty object type linting error in settings.ts by avoiding
eslint-disable-next-line.
1.2.3 - 2026-06-13
- Feature: Complex Filter Logic — Added support for complex filter logic using AND, OR, NOT and parentheses. Also added auto-completion to the MOC Creation Wizard for writing these complex filters.
- Feature: Dynamic Parameters — Added support for dynamically including current note parameters (
{{this.filename}},{{this.folder}},{{this.path}}) infolderandfilterconfigs. Closes #18. - Misc: Updated repository description to reflect expanded element extraction, and added sponsor options to README and manifest.json.
- Feature: Grouping/Hierarchical View — Added a
groupByoption to the MOC configuration block. You can now group matching elements byfolder,cday(creation date),mday(modification date), ortag. Closes #7. - Feature: Bake to Markdown — Added a "Bake" button to dynamic MOC blocks that replaces the dynamic view with static markdown directly in the note. Closes #8.
- Feature: MOC Creation Wizard — Added an interactive modal (wizard) to generate Map of Content (MOC) code blocks without manual YAML writing. Closes #9.
- Feature: Sort and Limit Options — Added the ability to sort matched files and limit the number of files processed in the MOC code block. Closes #6.
- Feature: add advanced metadata & property filtering — Support properties(key == value) filter in MOC block. Closes #5.
[1.0.0] - 2024-05-01
Added
- Initial release.
- Support for
moccode blocks withfolder,element,filter, andrecursiveconfiguration. - Support for extracting
List,Task,Heading,Paragraph, andBlockquoteelements. - Supported filters:
has_word,contains,has_text,matches(regex),has_tag,is_completed,is_incomplete.