diff --git a/README.md b/README.md index 35f5b13..df9b2da 100644 --- a/README.md +++ b/README.md @@ -1,254 +1,110 @@ # ⚡ Focus Task -A powerful task management and focus timer plugin for [Obsidian](https://obsidian.md), heavily inspired by [Blitzit](https://www.blitzit.app/). +A productivity plugin for Obsidian that combines task management with focused time tracking, heavily inspired by [Blitzit](https://www.blitzit.app/). -![Focus Task Banner](https://img.shields.io/badge/Obsidian-Plugin-7c3aed?style=for-the-badge&logo=obsidian&logoColor=white) -![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) -![Version](https://img.shields.io/badge/Version-1.0.2-blue?style=for-the-badge) +## Features -## 🎯 Overview - -Focus Task brings the power of time-boxed task management directly into your Obsidian vault. Plan your day, track time with the Pomodoro technique, and crush your tasks with satisfying checkoffs - all without leaving your notes. - -### Why Focus Task? - -- **Stay in Flow**: No need to switch between apps - manage tasks where you take notes -- **Time Awareness**: Know exactly how long tasks take vs. your estimates -- **Pomodoro Built-in**: Work in focused sprints with automatic break reminders -- **Satisfying Feedback**: Celebratory messages and sounds when you complete tasks -- **Visual Progress**: See your daily progress with stats and streaks - -## ✨ Features - -### 📋 Task Management +### 🎯 Task Management - Create tasks with time estimates - Organize tasks into customizable lists (Work, Personal, Learning, etc.) -- Add notes and details to tasks -- Filter tasks by list, today's tasks, or completed items -- Drag-and-drop task reordering +- Track actual time spent vs. estimated time +- Filter tasks by list, status, or date -### ⏱️ Dual Timer Modes - -#### Pomodoro Timer +### 🍅 Pomodoro Timer +- Built-in Pomodoro technique support - Configurable work sessions (default: 25 minutes) -- Short breaks (default: 5 minutes) -- Long breaks after a set number of pomodoros (default: 15 minutes every 4 pomodoros) -- Auto-start break option -- Visual countdown with progress bar +- Short and long breaks +- Auto-start breaks option +- Visual progress indicator -#### Stopwatch Mode -- Free-form time tracking -- Alerts when you exceed your estimate -- Track actual time vs. estimated time +### ⏱️ Stopwatch Mode +- Free-form time tracking without Pomodoro constraints +- Alerts when exceeding time estimates -### 📊 Progress Tracking -- **Daily Stats**: See tasks completed, focus time, and more -- **Streak Counter**: Build momentum with consecutive productive days -- **Time Comparison**: Compare estimated vs. actual time to improve planning -- **Pomodoro Count**: Track total pomodoros completed +### 📊 Statistics +- Daily completed tasks counter +- Total focus time tracking +- Streak tracking for consecutive productive days +- Pomodoro completion count -### 🎨 User Experience -- **Status Bar Timer**: timer that stays visible while you work -- **Celebration Messages**: Fun, randomized messages when you complete tasks -- **Sound Notifications**: Audio alerts for timer completion and task completion -- **Keyboard Shortcuts**: Quick access to common actions -- **Responsive Design**: Works great in any panel size +### 📝 Daily Note Integration +- Automatically log completed tasks to your daily note +- Customizable date format and section heading +- Tracks time spent vs. estimated time -## 🚀 Installation +### 🎉 Celebrations & Feedback +- Celebration messages on task completion +- Sound notifications (optional) +- Visual feedback for early/late completions -### From Obsidian Community Plugins (Coming Soon) -1. Open Obsidian Settings -2. Go to Community Plugins -3. Search for "Focus Task" -4. Click Install, then Enable +## Installation ### Manual Installation -1. Download the latest release from the [releases page](https://git.cribdev.com/crib/focus-task/releases) -2. Extract the files to your vault's `.obsidian/plugins/focus-task/` folder +1. Download the latest release from the releases page +2. Extract the files into your vault's `.obsidian/plugins/focus-task/` folder 3. Reload Obsidian 4. Enable the plugin in Settings → Community Plugins -### Building from Source -```bash -# Clone the repository -git clone https://git.cribdev.com/crib/focus-task.git -cd focus-task +### From Source +1. Clone this repository into your vault's `.obsidian/plugins/` folder +2. Run `npm install` to install dependencies +3. Run `npm run build` to compile the plugin +4. Reload Obsidian and enable the plugin -# Install dependencies -npm install +## Usage -# Build the plugin -npm run build +### Opening Focus Task +- Click the ⚡ icon in the ribbon (left sidebar) +- Use the command palette: "Open Focus Task Panel" -# Copy to your vault -cp main.js manifest.json styles.css /path/to/your/vault/.obsidian/plugins/focus-task/ -``` +### Adding Tasks +- Click "+ Add Task" in the panel +- Use the command palette: "Quick Add Task" +- Set a time estimate and assign to a list -## 📖 Usage - -### Getting Started - -1. **Open Focus Task**: Click the ⚡ icon in the ribbon or use the command palette (`Ctrl/Cmd + P` → "Open Focus Task Panel") - -2. **Add a Task**: Click "+ Add Task" and fill in: - - Task description - - Time estimate - - List category - -3. **Start Focusing**: Click ▶ on any task to start a Pomodoro session, or ⏱ for stopwatch mode - -4. **Complete Tasks**: Check off tasks when done and enjoy the celebration! +### Starting a Focus Session +- **Pomodoro Mode (▶)**: Click the play button on a task to start a timed Pomodoro session +- **Stopwatch Mode (⏱)**: Click the stopwatch icon to track time freely ### Keyboard Shortcuts +You can assign hotkeys to these commands in Settings → Hotkeys: +- `Focus Task: Open Focus Task Panel` +- `Focus Task: Quick Add Task` +- `Focus Task: Toggle Timer (Play/Pause)` +- `Focus Task: Complete Current Task` +- `Focus Task: Start Focus Mode on Next Task` -| Action | Command | -|--------|---------| -| Open Panel | `Ctrl/Cmd + P` → "Open Focus Task Panel" | -| Quick Add Task | `Ctrl/Cmd + P` → "Quick Add Task" | -| Toggle Timer | `Ctrl/Cmd + P` → "Toggle Timer" | -| Complete Task | `Ctrl/Cmd + P` → "Complete Current Task" | -| Start Focus | `Ctrl/Cmd + P` → "Start Focus Mode on Next Task" | - -### Timer Modes Explained - -#### 🍅 Pomodoro Mode (▶ button) -Best for: Maintaining focus on challenging tasks - -1. Timer counts down from your configured work duration -2. When time's up, you'll get a notification -3. Take a break (short or long, based on your settings) -4. Repeat until the task is complete - -#### ⏱️ Stopwatch Mode (⏱ button) -Best for: Tracking time on open-ended tasks - -1. Timer counts up from zero -2. Get alerted when you exceed your estimate -3. Stop whenever the task is complete -4. See exactly how long the task took - -## ⚙️ Settings +## Settings ### Pomodoro Timer -| Setting | Description | Default | -|---------|-------------|---------| -| Work Duration | Length of each work session | 25 min | -| Short Break | Length of short breaks | 5 min | -| Long Break | Length of long breaks | 15 min | -| Long Break Interval | Pomodoros before a long break | 4 | -| Auto-start Breaks | Automatically start break timer | Off | +- **Work Duration**: Length of work sessions (5-60 minutes) +- **Short Break**: Length of short breaks (1-15 minutes) +- **Long Break**: Length of long breaks (5-30 minutes) +- **Long Break Interval**: Pomodoros before a long break ### General -| Setting | Description | Default | -|---------|-------------|---------| -| Default Time Estimate | Default estimate for new tasks | 30 min | -| Enable Sounds | Play completion/alert sounds | On | -| Enable Celebrations | Show celebration messages | On | -| Show Floating Timer | Display draggable timer widget | On | +- **Default Time Estimate**: Default estimate for new tasks +- **Enable Sounds**: Toggle sound notifications +- **Enable Celebrations**: Toggle celebration messages + +### Daily Note Integration +- **Log completed tasks**: Enable/disable daily note logging +- **Filename format**: Set your daily note naming convention (YYYY-MM-DD) +- **Section heading**: Customize the heading for logged tasks ### Lists -Customize your task lists with: -- Custom names -- Emoji icons -- Color coding +- Create custom lists with names, icons, and colors +- Default lists: Work, Personal, Learning -Default lists: Work 💼, Personal 🏠, Learning 📚 +## Credits -## 🎨 Customization +This plugin is heavily inspired by [Blitzit](https://www.blitzit.app/), a fantastic productivity app. Focus Task brings similar functionality directly into Obsidian. -### Adding Custom Lists -1. Go to Settings → Focus Task → Lists -2. Click "+ Add List" -3. Set the name, emoji, and color -4. Click Save +## License -### Theming -Focus Task respects your Obsidian theme and adapts to both light and dark modes automatically. +MIT License - see [LICENSE](LICENSE) for details. -## 📁 Project Structure +## Support -``` -focus-task/ -├── src/ -│ ├── main.ts # Main plugin class -│ ├── types.ts # TypeScript interfaces -│ ├── view.ts # Main UI view -│ └── modals.ts # Task modals -├── styles.css # Plugin styles -├── manifest.json # Obsidian plugin manifest -├── package.json # npm configuration -├── tsconfig.json # TypeScript config -├── esbuild.config.mjs # Build configuration -└── README.md # This file -``` - -## 🙏 Inspiration & Credits - -This plugin is **heavily inspired by [Blitzit](https://www.blitzit.app/)**, a fantastic standalone productivity app that combines task management with focused time tracking. - -Blitzit's approach to productivity resonated with me: -- Simple, focused interface -- Time estimation and tracking -- Pomodoro technique integration -- Satisfying task completion experience -- Progress insights - -I wanted to bring this experience directly into Obsidian, where I already manage my notes and knowledge. Focus Task is my attempt to capture the essence of what makes Blitzit great while leveraging Obsidian's powerful ecosystem. - -**If you're looking for a dedicated productivity app, I highly recommend checking out [Blitzit](https://www.blitzit.app/)!** - -## 🤝 Contributing - -Contributions are welcome! Feel free to: - -1. Fork the repository -2. Create a feature branch (`git checkout -b feature/amazing-feature`) -3. Commit your changes (`git commit -m 'Add amazing feature'`) -4. Push to the branch (`git push origin feature/amazing-feature`) -5. Open a Pull Request - -### Development Setup - -```bash -# Clone the repo -git clone https://git.cribdev.com/crib/focus-task.git -cd focus-task - -# Install dependencies -npm install - -# Start development build (watches for changes) -npm run dev - -# Create symlink to your test vault -ln -s $(pwd) /path/to/vault/.obsidian/plugins/focus-task -``` - -## 📝 Roadmap - -- [ ] Integration with Obsidian Tasks plugin -- [ ] Calendar view for scheduled tasks -- [ ] Weekly/Monthly reports -- [ ] Task templates -- [ ] Sync with external task managers -- [ ] Mobile optimizations -- [ ] Task dependencies -- [ ] Time blocking in daily notes - -## 📜 License - -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. - -## 🔗 Links - -- **Repository**: [https://git.cribdev.com/crib/focus-task](https://git.cribdev.com/crib/focus-task) -- **Issues**: [https://git.cribdev.com/crib/focus-task/issues](https://git.cribdev.com/crib/focus-task/issues) -- **Inspiration**: [Blitzit App](https://www.blitzit.app/) - ---- - -

- Made with ❤️ for the Obsidian community -
- Inspired by Blitzit ⚡ -

+- [Report Issues](https://git.cribdev.com/crib/focus-task/issues) +- [Source Code](https://git.cribdev.com/crib/focus-task) \ No newline at end of file