Maps of Content

by mkshp-dev
5
4
3
2
1
Score: 52/100

Description

Dynamically generate Maps of Content (MOC) by extracting matching list items from notes in your vault.

Reviews

No reviews yet.

Stats

1
stars
371
downloads
0
forks
64
days
1
days
1
days
48
total PRs
0
open PRs
0
closed PRs
48
merged PRs
21
total issues
0
open issues
21
closed issues
202
commits

Latest Version

2 days ago

Changelog

  • 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 to properties() filters for numeric and date comparisons (e.g. properties(priority <= 2), properties(date >= "2024-01-01")).
  • Feature: template option — 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: excludeFolder and excludeFile options — 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: showCount option — Appends a result count summary (e.g. "3 results in 2 files") and adds per-group counts when groupBy is active.
  • Feature: offset parameter — Skip a number of files at the start of the result set, complementing limit for 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 Showcase folder at the vault root with sample notes and pre-built moc blocks covering every feature, including a dedicated note for blockSeparator/noteSeparator spacing and dynamic parameters.
  • Feature: Standardized filters & aliases — Consolidated has_word, contains, has_text into canonical contains; has_word and has_text remain as backward-compatible aliases.
  • Feature: Robust tag-aware matchinghas_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: template option documentation and showcase example — The template key 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 inline template: "..." strings that would fail to resolve.
  • Docs: Verified versioned Docusaurus deployment workflow and automated changelog syncing.

README file from

Github

Maps of Content

Dynamically generate Map of Content (MOC) indexes by extracting matching elements (lists, tasks, headings, paragraphs, blockquotes) from notes in your vault — powered by a simple code block.

📖 Full documentation →


Highlights

Live, auto-updating indexesmoc blocks re-render automatically when files in the watched folder change. No refreshing needed.

Powerful filter DSL — Boolean logic (AND, OR, NOT), text matching, tag matching, regex, and frontmatter property comparisons with full numeric/date operator support (>, <, >=, <=, !=).

MOC Creation Wizard — Generate moc blocks visually from the Command Palette. No YAML required.

Flexible output shaping — Group by folder, tag, date, or any frontmatter property. Sort, limit, paginate with offset, and count results with showCount.

Templates — Format each matched element using a reusable template note with {{content}}, {{file}}, {{path}}, {{link}} placeholders.

Exclude options — Skip specific folders or files even inside a recursive scan.

Copy & Bake — Copy rendered Markdown to clipboard, or permanently bake a dynamic block into static Markdown in-place.

Create showcase — Run Maps of Content: Create showcase from the Command Palette to generate a ready-to-explore demo folder covering every feature.


Quick start

```moc
folder: diary
element: List
filter: has_tag("#todo")
recursive: true
```

→ See the full block reference in the docs.


Support