Note Status Checkbox

by Vincenzo Petrucci
5
4
3
2
1
Score: 50/100

Description

Show configurable, colored icons next to internal links based on frontmatter properties.

Reviews

No reviews yet.

Stats

1
stars
61
downloads
0
forks
18
days
17
days
17
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
21
commits

README file from

Github

Features

  • Shows icons in both Reading view and Live Preview.
  • Matches any frontmatter property, not only status.
  • Supports exact values, case-sensitive or case-insensitive matching, arrays, and wildcard rules.
  • Lets you choose any Lucide icon available in Obsidian, its color, and the global stroke width.
  • Applies the first matching rule, so priorities remain explicit and reorderable.
  • Refreshes open notes when frontmatter or plugin settings change.
  • Leaves embeds and links inside real Markdown tasks unchanged.
  • Reads note metadata without modifying notes or frontmatter.

How it works

Create one or more rules in Settings → Community plugins → Note Status Checkbox. Each rule contains:

Field Meaning
Property Frontmatter property to inspect, such as status or priority
Value Value to match; leave empty to match any non-empty value
CI / CS Case-insensitive or case-sensitive comparison
Icon Lucide icon displayed beside matching links
Color Icon color

Rules are evaluated from top to bottom. The first match wins.

For example, given this note:

---
status: Completed
priority: High
---

You could configure these rules:

Property Value Match Icon Result
status Completed CI circle-check Green completion icon
status In Progress CI clock Amber progress icon
priority High CI triangle-alert Red priority icon

Every [[internal link]] pointing to the note receives the icon from the first matching rule. The icon is decorative and does not turn the link into a Markdown task.

Matching behavior

  • Property names are always matched case-insensitively.
  • Values are trimmed before comparison.
  • CI ignores letter case; CS requires the same letter case.
  • If a property contains a YAML list, the rule matches when at least one item matches.
  • An empty rule value acts as a wildcard for any non-empty property value.
  • Notes without a matching rule keep their normal links.

Installation

Community plugins

Once the plugin is accepted into the Obsidian community directory:

  1. Open Settings → Community plugins.
  2. Select Browse and search for Note Status Checkbox.
  3. Select Install, then Enable.

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Create <vault>/.obsidian/plugins/note-status-checkbox/.
  3. Copy the three downloaded files into that directory.
  4. Reload Obsidian and enable Note Status Checkbox under Community plugins.

Compatibility

  • Requires Obsidian 1.4.0 or newer.
  • Declared compatible with desktop and mobile installations.
  • Uses only APIs and icon assets provided by Obsidian at runtime.

Privacy and security

Note Status Checkbox works entirely offline. It makes no network requests, collects no telemetry, accesses no files outside the vault, and never edits your notes. Plugin preferences are stored through Obsidian's standard plugin data API.

Development

The plugin intentionally uses readable, dependency-free CommonJS with no build step. main.js is both the source and the release entry point.

Clone the repository and link it into a development vault:

git clone https://github.com/nahime0/obsidian-note-status-plugin.git
ln -s "/path/to/obsidian-note-status-plugin" "/path/to/vault/.obsidian/plugins/note-status-checkbox"

Run the matching tests with Node.js:

node --test test/matching.test.js

After changing the plugin, reload Obsidian or disable and re-enable it.

Releases

Run the interactive deploy command from a clean and up-to-date main branch:

make deploy

The command suggests the next minor version and lets you accept it by pressing Enter or type another x.y.z version. For non-interactive use, pass the version explicitly:

make deploy VERSION=0.1.1

The deploy script updates manifest.json and versions.json, runs the checks, creates the release commit and annotated tag, pushes both atomically, waits for GitHub Actions, and verifies the published assets. The workflow generates artifact attestations for main.js and styles.css and publishes main.js, manifest.json, and styles.css. Existing tags can still be processed through the workflow's manual dispatch action.

License

Released under the MIT License.