mirror of
https://github.com/devonthesofa/obsidian-note-status.git
synced 2026-07-22 12:30:24 +00:00
No description
| .github/workflows | ||
| constants | ||
| models | ||
| services | ||
| settings | ||
| ui | ||
| utils | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc | ||
| .gitignore | ||
| .npmrc | ||
| esbuild.config.mjs | ||
| LICENSE | ||
| main.ts | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
Obsidian Note Status Plugin
The Note Status plugin for Obsidian enhances your workflow by allowing you to assign, manage, and visualize statuses for your notes. Whether you're tracking projects, tasks, or personal notes, this plugin provides a seamless way to organize your vault with customizable statuses, a dedicated status pane, and visual indicators.
Features
- Status Assignment: Add statuses (e.g., active, on hold, completed, dropped, unknown) to notes via frontmatter.
- Status Pane: A sidebar view to see all notes grouped by status, with search and collapsible sections.
- Dropdown Menu: Quickly change a note's status from a dropdown at the top or bottom of the editor.
- Status Bar: Displays the current note's status at the bottom of the app, with toggleable visibility.
- File Explorer Icons: Shows status icons next to note names in the file explorer for instant recognition.
- Customization: Define your own statuses, icons, and colors in the settings, and adjust UI preferences like position and auto-hiding.
- Commands: Includes commands to refresh statuses, insert status metadata, and open the status pane.
Installation
- Download the Plugin:
- Grab the latest release from the GitHub Releases page.
- Download the files
main.js,styles.cssandmanifest.json
- Install in Obsidian:
- Open your Obsidian vault and navigate to
.obsidian/plugins/. - Create a folder named
obsidian-note-statusinto this directory. - Copy the downloaded files in the
obsidian-note-statusfolder.
- Open your Obsidian vault and navigate to
- 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.
Note: This plugin is not yet available in the Obsidian Community Plugin store but will be submitted soon!
Usage
Setting a Status
- Open a note and use the command Insert Status Metadata to add a status: unknown field in the frontmatter.
- Change the status manually in the frontmatter, or use the dropdown menu (click the status bar or right-click in the editor and select "Change Note Status").
Status Pane
- Click the ribbon icon (a bar chart) or use the Open Status Pane command to view all notes grouped by status.
- Use the search bar to filter notes by name.
Customization
- Go to Settings > Note Status to:
- Toggle visibility of the dropdown, status bar, and file explorer icons.
- Adjust positions (top/bottom for dropdown, left/right for status bar).
- Add, edit, or remove custom statuses with unique icons and colors.
Example Frontmatter
---
status: active
---
Screenshots
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
│ ├── models/ # TypeScript interfaces and types
│ │ └── types.ts # Core type definitions
│ ├── ui/ # UI components
│ │ ├── status-pane-view.ts # Status pane sidebar
│ │ ├── status-dropdown.ts # Dropdown component
│ │ ├── status-bar.ts # Status bar component
│ │ ├── explorer.ts # File explorer integration
│ │ ├── modals.ts # Modal components
│ │ └── context-menus.ts # Context menu handlers
│ ├── services/ # Core services
│ │ ├── status-service.ts # Status management logic
│ │ └── style-service.ts # Dynamic styling service
│ ├── utils/ # Utility functions
│ │ ├── dom-utils.ts # DOM helpers
│ │ └── 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
- Clone this repository:
git clone https://github.com/devonthesofa/obsidian-note-status.git
cd obsidian-note-status
- Install dependencies:
npm install
- Build the plugin:
npm run build
- The compiled plugin will be in the root directory, ready to copy into .obsidian/plugins/.
Contributing
- Fork this repository and submit pull requests with improvements or bug fixes.
- Report issues or suggest features via the Issues tab.
Recent Improvements
The v1.0.8 release includes:
- Complete Code Restructuring: Modular architecture with proper separation of concerns
- Enhanced TypeScript Usage: Improved typing and interfaces for better code reliability
- Optimized Performance: More efficient event handling and DOM manipulation
- Improved Developer Experience: Better project structure for easier contributions
Known Issues (Being Addressed)
- Bug: When manually editing the status in the frontmatter after tags, a weird behavior occurs:
status: ... --- tags: - calendar/daily --- It creates a new block of tags, leaving the old one outside. Needs refinement. - Improvement: Further performance optimization for batch status changes
License
This plugin is released under the MIT License. See the LICENSE file for details.
Acknowledgments
- Built with assistance from Claude (Anthropic) for code structuring and best practices
- Inspired by the amazing Obsidian community and its plugin ecosystem