No description
Find a file
2025-04-23 13:15:50 +02:00
.github/workflows feat: add release workflow 2025-04-03 16:08:37 +02:00
constants chore: remove default statuses 2025-04-19 21:13:28 +02:00
images chore: readme improved 2025-04-20 16:49:51 +02:00
models chore: remove change status bar position functionality 2025-04-17 15:00:42 +02:00
services chore: remove type casting; adds type validation 2025-04-23 12:57:06 +02:00
settings chore: remove style from js 2025-04-23 13:15:50 +02:00
ui chore: remove style from js 2025-04-23 13:15:50 +02:00
utils chore: remove unused script 2025-04-23 12:42:31 +02:00
.editorconfig Initial commit 2025-04-03 15:49:10 +02:00
.eslintignore Initial commit 2025-04-03 15:49:10 +02:00
.eslintrc Initial commit 2025-04-03 15:49:10 +02:00
.gitignore Initial commit 2025-04-03 15:49:10 +02:00
.npmrc Initial commit 2025-04-03 15:49:10 +02:00
esbuild.config.mjs Initial commit 2025-04-03 15:49:10 +02:00
LICENSE chore:welcome MIT license 2025-04-20 17:03:28 +02:00
main.ts chore: remove type casting; adds type validation 2025-04-23 12:57:06 +02:00
manifest.json chore: version bump 2025-04-20 16:50:00 +02:00
package-lock.json fix: add icons when file explorer is loaded 2025-04-04 15:13:22 +02:00
package.json Initial commit 2025-04-03 15:49:10 +02:00
README.md chore: remove unused script 2025-04-23 12:42:31 +02:00
styles.css chore: remove style from js 2025-04-23 13:15:50 +02:00
tsconfig.json Initial commit 2025-04-03 15:49:10 +02:00
version-bump.mjs Initial commit 2025-04-03 15:49:10 +02:00
versions.json Initial commit 2025-04-03 15:49:10 +02:00

Note Status for Obsidian

GitHub release Obsidian Downloads GitHub License

Enhance your Obsidian workflow with a powerful status tracking system for your notes. Keep track of whether your notes are active, on hold, completed, or dropped - or create your own custom statuses.

Hello World Screenshot

Features

  • Status Assignment: Mark notes with statuses (active, on hold, completed, dropped)
  • Multiple Statuses: Apply more than one status to a single note
  • File Explorer Integration: View status icons directly in your file explorer
  • Status Bar: Quick access status indicator in the editor
  • Dropdown Menu: Easily change status from the editor toolbar
  • Status Pane: Dedicated view that organizes notes by status
  • Batch Updates: Apply statuses to multiple files at once
  • Custom Statuses: Create your own statuses with icons and colors
  • Status Templates: Choose from predefined templates or create your own
  • Highly Customizable: Configure where and how statuses appear

Installation

Coming soon to the Obsidian Community Plugins marketplace!

Once available in the marketplace:

  1. Open Obsidian → Settings → Community plugins
  2. Disable Safe mode
  3. Click "Browse" and search for "Note Status"
  4. Click Install and Enable

Manual Installation

  1. Download the Plugin:
    • Grab the latest release from the GitHub Releases page.
    • Download the files main.js, styles.css and manifest.json
  2. Install in Obsidian:
    • Open your Obsidian vault and navigate to .obsidian/plugins/.
    • Create a folder named obsidian-note-status into this directory.
    • Copy the downloaded files in the obsidian-note-status folder.
  3. Enable the Plugin:
    • In Obsidian, go to Settings > Community Plugins.
    • Ensure "Safe Mode" is turned off.
    • Find "Note Status" in the list and toggle it on.

User Guide

Basic Usage

1. Assign Status from the Toolbar

The simplest way to set a note's status is using the toolbar button:

Status From Toolbar

  1. Open any note
  2. Click the status icon in the toolbar (looks like a "?" by default)
  3. Select a status from the dropdown
  4. The status will be applied and visible in both toolbar and status bar

2. Status Bar

The status bar at the bottom of your editor shows the current status of your note:

Status Bar

  • When multiple statuses are enabled, all applied statuses will be displayed here

3. Status Pane

The Status Pane provides an overview of all your notes grouped by status:

Status Pane

To open the Status Pane:

  • Click the status pane icon in the left sidebar
  • Use the command palette: "Note Status: Open Status Pane" In the Status Pane you can:
  • View all notes grouped by status
  • Click on any note to open it
  • Search for specific notes
  • Toggle between compact and standard views
  • Right-click on notes for more options

4. File Explorer Integration

Status icons appear directly in your file explorer:

File Explorer

  • Right-click on any file to change its status
  • Select multiple files to batch update their statuses

Advanced Usage

Multiple Statuses

When enabled in settings, you can assign multiple statuses to a single note:

Multiple Statuses Selector

Multiple Statuses File Explorer

Multiple Statuses Status Bar

To add additional statuses:

  1. Open the status dropdown
  2. Click on another status to add it
  3. Click on an active status to remove it

Batch Updates

To update multiple files at once:

  1. Select multiple files in the file explorer (using Ctrl/Cmd or Shift)
  2. Right-click and choose "Change Status"
  3. Select whether to replace or add the status
  4. Choose the status to apply

Batch Updates

Configuration

Status Management

Access plugin settings via Settings → Note Status

Status Templates

Choose from predefined status templates:

  • Colorful Workflow: A colorful set of workflow statuses with descriptive icons
  • Minimal Workflow: A simplified set of essential workflow statuses
  • Academic Research: Status workflow for academic research and writing
  • Project Management: Status workflow for project management and tracking

Status Templates

Custom Statuses

Create your own statuses by:

  1. Clicking "Add Status" in settings
  2. Setting a name, icon, color, and optional description
  3. Saving your settings

Custom Statuses

Display Options

Configure how statuses are displayed:

  • Show/hide status bar
  • Auto-hide status bar when status is unknown
  • Show/hide status icons in file explorer
  • Hide unknown status in file explorer
  • Toggle compact view in status pane
  • Enable/disable multiple statuses mode
  • Customize frontmatter tag name

Commands

The plugin provides several commands accessible via the Command Palette:

  • Note Status: Open Status Pane - Opens the status view
  • Note Status: Refresh Status - Refreshes current note's status
  • Note Status: Add Status to Current Note - Shows status menu
  • Note Status: Insert Status Metadata - Adds status frontmatter
  • Note Status: Force Refresh UI - Complete UI refresh

Technical Details

Frontmatter Format

Status information is stored in your note's frontmatter using the following format:

---
obsidian-note-status: ["active"]
---

Multiple statuses:

---
obsidian-note-status: ["active", "inProgress"]
---

The frontmatter tag name can be customized in settings.

Development

Project Structure

The plugin has been recently restructured with a modern, modular architecture:

note-status/
├── src/
│   ├── main.ts                          # Main plugin entry point
│   ├── constants/                       # Constants and defaults
│   │   ├── icons.ts                     # SVG icon definitions
│   │   ├── defaults.ts                  # Default settings and colors
│   │   └── status-templates.ts          # Predefined status templates
│   ├── models/                          # TypeScript interfaces and types
│   │   └── types.ts                     # Core type definitions
│   ├── ui/                              # UI components
│   │   ├── components/                  # Core UI components
│   │   │   ├── status-pane-view.ts      # Status pane sidebar
│   │   │   ├── status-dropdown.ts       # Dropdown management
│   │   │   ├── status-dropdown-component.ts # Dropdown UI component
│   │   │   └── status-bar.ts            # Status bar component
│   │   ├── integrations/                # External integrations
│   │   │   └── explorer-integration.ts  # File explorer integration
│   │   └── menus/                       # Menu handlers
│   │       └── status-context-menu.ts   # Context menu handlers
│   ├── services/                        # Core services
│   │   ├── status-service.ts            # Status management logic
│   │   └── style-service.ts             # Dynamic styling service
│   ├── utils/                           # Utility functions
│   │   └── file-utils.ts                # File-related helpers
│   └── settings/                        # Settings UI
│       └── settings-tab.ts              # Settings tab definition
└── styles.css                           # CSS styles

Prerequisites

  • Node.js and npm installed.
  • Obsidian API knowledge (TypeScript-based).

Building the Plugin

  1. Clone this repository:
git clone https://github.com/devonthesofa/obsidian-note-status.git
cd obsidian-note-status
  1. Install dependencies:
npm install
  1. Build the plugin:
npm run build
  1. For development with auto-rebuilding:
npm run dev
  1. The compiled plugin will be in the root directory, ready to copy into .obsidian/plugins/.

Contributing

Contributions welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin feature/my-new-feature
  5. Submit a pull request
  • Report issues or suggest features via the Issues tab.

Roadmap

The following features and improvements are planned for upcoming releases:

Short-term

  • Bug Fix: Resolve selection context issue when changing status of a single file while multiple files are selected in the explorer view
  • Batch Modification Enhancement: Implement a modal dialog with file preview and status selection for more intuitive batch operations
  • Dropdown Refinement: Restructure status options to be grouped by categories (workflow, templates, custom) with visual separators
  • Obsidian API Compliance: Refactor code to follow Obsidian guidelines for better performance and compatibility:
    • Use proper event lifecycle management
    • Implement debounced operations for file operations
    • Improve plugin teardown process to prevent memory leaks

Medium-term

  • Export/import configurations: Share your status setups with others

Long-term

  • Canvas integration: Show status on canvas cards
  • Graph view integration: Visualize notes by status in graph view
  • Mobile optimization: Improved experience on mobile devices