Interactive Progress Bar Plugin
unlistedby Random
A plugin to add interactive progress bars in notes with increment buttons.
π Obsidian Interactive Progress Bar Plugin
π Welcome to the Obsidian Interactive Progress Bar Plugin repository!
This plugin allows you to add interactive progress bars to your Obsidian notes. With this plugin, you can easily track your goals, habits, or project progress directly within your markdown files. The progress bars are fully customizable and can be updated by simply clicking on them.
π Features Available
- π Interactive progress bars: Add customizable progress bars to your notes.
- π Progress persistence: The progress is saved and remains across sessions.
- π±οΈ Click to progress: Click on the bar to increment its progress.
- π Right-click to reset: Reset the progress to 0 with a right-click.
- π¨ Customization: Customize the color, size, animation, and more.
π Example Use Cases
Interactive progress bars can be a great visual tool to track daily habits, goals, or any repetitive tasks in your Obsidian dashboards. Here are a few ways you can use this plugin:
-
Track your daily water intake: Like I do! I use this plugin to track how much water I drink each day. Each time I finish a glass, I click the bar, and it increments. It's a great visual reminder to stay hydrated. π§
Hereβs what it looks like in action:
With this source code :
name: BlueWater
initialProgress: 0
total: 3000
color: #0055ff
increment: 50
legend: Water drunk today {current_progress}ml/{total}ml
-
Monitor your reading goals: Keep track of how many chapters or pages you've read in a book or study material. π
-
Track workout progress: Whether it's reps, sets, or workout days in a week, visualize your fitness progress with easy-to-update bars. πͺ
-
Habit tracking: Track habits like writing, coding, meditation, or any daily task. With one click, you can update your habit progress and reset it at the start of each day. π§ββοΈ
-
Project milestones: Track progress on your coding or personal projects. Set up milestones and watch your progress bar fill up as you hit each step! π
The flexibility of this plugin allows you to easily adjust the bar's settings to match your style, whether for personal dashboards or project notes.
π οΈ Installation
To install and try out the Obsidian Interactive Progress Bar Plugin, follow these steps:
- Download
main.js,styles.cssandmanifest.jsonfrom the latest release. - Create a new folder in your Obsidian vault under the path:
<your-vault>/.obsidian/plugins/interactive-progress-bar-plugin/ - Place the downloaded files into this folder.
- Restart Obsidian.
- Go to Settings > Community plugins and enable the Interactive Progress Bar Plugin.
Thatβs it! The plugin should now be active, and you can start using it to add progress bars to your notes.
π§βπ» Development
The plugin is written in TypeScript with a strict toolchain (ESLint + Prettier + Vitest) and bundled with esbuild.
Prerequisites: Bun.
bun install # install dependencies
bun run dev # watch mode (rebuilds main.js and styles.css on change)
bun run check # typecheck + lint + format check + tests + production build
Individual steps: bun run typecheck, bun run lint, bun run format, bun run test.
The compiled
main.jsis generated locally by the build and is not committed to the repository - releases carry the distributable files.
π οΈ Contributing
Letβs be honest, Iβm not a JavaScript expert (nor TypeScript, for that matter π ), but Iβve done my best to make this plugin functional. Iβm a Python developer, so I understand what Iβm doing to some extent, but JS and TS are different worlds for me. This plugin does what I need, so I donβt plan to take it much further. However, if you want to add features or improve the code, Iβd be happy to see contributions!
Oh, and English isnβt my first language, so I apologize if I misunderstand something or take a bit longer to respond to issues or pull requests π . Thanks for your patience!
Feel free to open issues or pull requests, and Iβll do my best to respond, though GitHub is still somewhat new to me.
β Show Your Support
Iβm not really concerned about the number of stars, but if you find this project useful or interesting, consider giving it a star on GitHub to help me gauge the interest. If youβd rather not leave a star, thatβs totally fine β feel free to open an issue, submit a pull request, or even drop a message of support in an issue instead! All kinds of feedback, advice, and contributions are always welcome and appreciated. π
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.