No description
Find a file
2026-02-09 17:08:25 +07:00
src fix: Ensure status and Kanban updates are processed correctly for files with zero tasks or when all tasks are removed. 2026-02-09 17:08:25 +07:00
.editorconfig use LF instead of CRLF (#28) 2022-04-15 14:13:31 -04:00
.eslintignore fix .eslintignore (#48) 2023-01-19 10:06:51 -05:00
.eslintrc add version bump script (#10) 2022-01-22 16:13:50 -05:00
.gitignore Bump version to 1.5.0 in manifest and package files; update styles for improved layout and responsiveness in progress tracker. 2025-12-04 16:22:45 +07:00
.npmrc add version bump script (#10) 2022-01-22 16:13:50 -05:00
esbuild.config.mjs build: minify prod build 2023-11-15 14:10:43 -05:00
LICENSE docs: update license 2025-04-15 17:52:17 +07:00
main.ts feat: Add SettingsTab for Task Progress Bar plugin with comprehensive configuration options 2026-01-18 18:39:49 +07:00
manifest.json fix: Exclude code blocks from task counting in the progress bar view and update the plugin version to 1.5.2. 2026-02-09 15:57:45 +07:00
package.json fix: Exclude code blocks from task counting in the progress bar view and update the plugin version to 1.5.2. 2026-02-09 15:57:45 +07:00
README.md Bump version to 1.5.0 in manifest and package files; update styles for improved layout and responsiveness in progress tracker. 2025-12-04 16:22:45 +07:00
Screenshot.jpg docs: update screenshot 2025-03-20 18:32:41 +07:00
styles.css feat: Add SettingsTab for Task Progress Bar plugin with comprehensive configuration options 2026-01-18 18:39:49 +07:00
tsconfig.json Fix inconsistent indentation 2024-01-19 21:14:58 +02:00
version-bump.mjs add version bump script (#10) 2022-01-22 16:13:50 -05:00
versions.json Update for 0.15 2022-08-09 13:38:50 -04:00
yarn.lock Initial commit: Task Progress Bar plugin for Obsidian 2025-03-16 16:26:27 +07:00

Progress Tracker Plugin for Obsidian

A plugin for Obsidian that helps you track progress of your tasks in real-time. It provides a visual progress bar and integrates with Kanban boards to help you manage your tasks more effectively.

What's new in the latest update

  • Sidebar duplication bug fixed: Only one progress tracker view is created, even after reloads.
  • Sidebar position: Progress tracker now appears in the right sidebar by default.
  • Custom checkbox states: Improved support and protection for custom states in Kanban boards.
  • View initialization: Progress bar view now reliably loads and updates when opened.

Features

  • Real-time progress tracking of tasks in your notes
  • Visual progress bar showing completion percentage
  • Automatic status updates based on task completion
  • Kanban board integration for task management
  • Custom checkbox states for Kanban columns (NEW!)
  • Customizable colors and thresholds
  • Debug mode for troubleshooting

Installation

  1. Open Obsidian Settings
  2. Go to Community Plugins and disable Safe Mode
  3. Click Browse and search for "Progress Tracker"
  4. Install the plugin
  5. Enable the plugin in your Community Plugins list

Usage

Basic Usage

  1. Create tasks in your notes using Markdown checkboxes:

    - [ ] Task 1
    - [x] Completed task
    - [ ] Task 3
    
  2. The progress bar will automatically update as you check/uncheck tasks.

Kanban Integration

The plugin can automatically move cards in your Kanban boards based on task completion:

  1. Set up a Kanban board in Obsidian
  2. Configure the target Kanban board in plugin settings
  3. As you complete tasks, cards will move to appropriate columns

Custom Checkbox States (NEW!)

You can now configure custom checkbox states for different Kanban columns:

  1. Enable "Custom Checkbox States" in plugin settings

  2. Configure mappings between column names and checkbox states:

    • Todo[ ] (unchecked)
    • In Progress[/] (in progress)
    • Complete[x] (completed)
    • Done[x] (completed)
    • Or any custom states like [>], [-], etc.
  3. When cards are moved between columns, their checkbox states will automatically update

Supported Checkbox States

  • [ ] - Todo/Unchecked
  • [x] - Completed
  • [/] - In Progress
  • [>] - Forwarded/Deferred
  • [-] - Cancelled
  • [!] - Important

Kanban Normalization Protection (NEW!)

The plugin now includes intelligent protection against unwanted checkbox state normalization by the Kanban plugin:

  • Real-Time Detection: Instantly detects when the Kanban plugin tries to convert custom states to standard states
  • Immediate Reversion: Automatically reverts unwanted normalizations in real-time
  • Smart Pattern Analysis: Distinguishes between legitimate user changes and unwanted plugin normalizations
  • Selective Protection: Only protects states that match your column mappings while preserving legitimate changes
  • Multi-Layer Defense: Combines immediate detection, movement analysis, and content comparison for comprehensive protection
  • Non-Invasive: Works seamlessly without interfering with normal Kanban operations
  • Debug Support: Comprehensive logging and testing commands for troubleshooting

How it works:

  1. Immediate Detection: Monitors editor changes in real-time to catch normalization as it happens
  2. Pattern Recognition: Analyzes content changes to identify unwanted custom state → [x] conversions
  3. Smart Reversion: Automatically restores correct checkbox states based on column mappings
  4. Movement Protection: Prevents card movements from triggering unwanted normalization cascades

This ensures your custom checkbox states (like [/], [~], etc.) remain intact when working with Kanban boards, even when the Kanban plugin tries to normalize them.

Enhanced Custom State Support

The plugin now properly recognizes and counts all custom checkbox states with advanced conflict prevention and precision targeting. When custom checkbox states are enabled:

  • Progress Calculation: Custom states (like [/], [-], [~]) are counted as "tasks in progress" and included in the total task count
  • Smart Auto-Sync: Auto-sync only updates cards that don't already have the correct checkbox state for their column
  • Conflict Prevention: Advanced timing detection prevents race conditions between auto-sync and manual card movements
  • Precision Targeting: Only cards that actually moved between columns are updated, eliminating false positives
  • Content Normalization: Card movements are detected by normalized content comparison, not checkbox states or fuzzy matching
  • Preserved States: Cards with existing correct states are left unchanged to prevent unnecessary modifications
  • Enhanced Detection: All task-related changes are properly detected regardless of checkbox state

Note: When updating checkbox states, only the main card checkbox is modified. Sub-items and nested checkboxes within cards are preserved to maintain data integrity. The plugin uses sophisticated position-based replacement and precision targeting to ensure only cards that actually moved are updated, completely preventing accidental modifications to other cards.

Settings

Progress Bar Colors

  • Choose between default theme colors or custom color schemes
  • Set custom colors for different progress levels
  • Configure progress thresholds

Performance

  • Adjust update delays for different actions
  • Configure animation settings
  • Set maximum height for the progress bar container

Metadata Auto-Update

  • Automatically update file metadata on task completion
  • Configure status labels for different progress states
  • Set up finished date tracking

Kanban Integration

  • Enable/disable automatic Kanban board updates
  • Configure target Kanban board
  • Set up column mapping for task states

Custom Checkbox States

  • Enable custom checkbox state management
  • Configure column-to-checkbox mappings
  • Add/remove column mappings as needed
  • Reset to default mappings

Troubleshooting

If you encounter issues:

  1. Enable Debug Mode in settings to see detailed logs
  2. Check if Dataview plugin is installed and enabled
  3. Verify your Kanban board configuration
  4. Clear the completed files cache if needed
  5. Check custom checkbox state mappings if using that feature

Support

If you find this plugin helpful, you can:

  • Star the repository
  • Report issues on GitHub
  • Submit feature requests
  • Contribute to the code

License

This project is licensed under the MIT License - see the LICENSE file for details.