# TaskWeaver A simple and elegant task timer plugin for Obsidian with category support and daily note integration. ## Features - **Stopwatch Timer** - Track time spent on tasks with persistent timers that survive app restarts and sleep mode - **Category Management** - Organize tasks with color-coded categories and emoji support - **Visual Category Selection** - Click to select categories with intuitive card-based UI - **Active Timer Display** - Large, prominent timer view when a task is running - **Daily Note Integration** - Automatically log completed tasks to your daily note using Obsidian's Daily Notes plugin - **Customizable Format** - Configure how tasks are logged with placeholders for title, duration, emoji, and category - **Theme Aware** - Fully respects Obsidian's theming system for seamless integration ## Design - **Sidebar Optimized** - Designed to work perfectly in Obsidian's sidebar - **Clean UI** - Minimal, intuitive interface that doesn't get in your way - **Color Picker** - Visual color selection with 12 preset colors plus custom color support - **Polished Timer Controls** - Dedicated Pause, Stop, and Complete buttons with color-coded states - **Task States** - Clear visual indicators for running, paused, and completed tasks ## Installation ### Install from Release 1. Download the latest release zip from the GitHub releases page 2. Extract the zip file 3. Copy the `taskweaver` folder to your vault's plugins directory: - `/.obsidian/plugins/` 4. Reload Obsidian 5. Enable the plugin in Settings → Community Plugins ### Manual Installation 1. Build the plugin: ```bash npm install npm run build ``` 2. Copy the built files to your vault: - Copy `main.js`, `manifest.json`, and `styles.css` to: - `/.obsidian/plugins/taskweaver/` 3. Reload Obsidian and enable the plugin in Settings � Community Plugins ### Quick Package Script Use the included batch script to build and package: ```bash build-package.bat ``` This creates a `taskweaver-package` folder with all required files ready to install. ## Usage 1. **Create Categories** - Click "Categories" to add task categories with colors and emojis 2. **Add Tasks** - Click "Add Task" and select a category 3. **Start Timer** - Click "Start" on any task to begin tracking time 4. **Manage Active Task** - Use Pause, Stop, or Complete buttons on the active timer 5. **Daily Note Logging** - Enable in settings to automatically log completed tasks ## Settings - **Enable Daily Note Logging** - Toggle automatic logging to daily notes - **Daily Note Format** - Customize log format using placeholders: - `{{title}}` - Task title - `{{duration}}` - Time spent - `{{emoji}}` - Category emoji - `{{category}}` - Category name ## Building Requirements: - Node.js - npm Build commands: ```bash # Install dependencies npm install # Development build with watch mode npm run dev # Production build npm run build ``` ## License MIT