Updated README.md
This commit is contained in:
279
README.md
279
README.md
@@ -1,110 +1,243 @@
|
|||||||
# ⚡ Focus Task
|
# ⚡ Focus Task
|
||||||
|
|
||||||
A productivity plugin for Obsidian that combines task management with focused time tracking, heavily inspired by [Blitzit](https://www.blitzit.app/).
|
A powerful task management and focus timer plugin for [Obsidian](https://obsidian.md), heavily inspired by [Blitzit](https://www.blitzit.app/).
|
||||||
|
|
||||||
## Features
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
### 🎯 Task Management
|
## 🎯 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
|
||||||
- Create tasks with time estimates
|
- Create tasks with time estimates
|
||||||
- Organize tasks into customizable lists (Work, Personal, Learning, etc.)
|
- Organize tasks into customizable lists (Work, Personal, Learning, etc.)
|
||||||
- Track actual time spent vs. estimated time
|
- Add notes and details to tasks
|
||||||
- Filter tasks by list, status, or date
|
- Filter tasks by list, today's tasks, or completed items
|
||||||
|
- Drag-and-drop task reordering
|
||||||
|
|
||||||
### 🍅 Pomodoro Timer
|
### ⏱️ Dual Timer Modes
|
||||||
- Built-in Pomodoro technique support
|
|
||||||
|
#### Pomodoro Timer
|
||||||
- Configurable work sessions (default: 25 minutes)
|
- Configurable work sessions (default: 25 minutes)
|
||||||
- Short and long breaks
|
- Short breaks (default: 5 minutes)
|
||||||
- Auto-start breaks option
|
- Long breaks after a set number of pomodoros (default: 15 minutes every 4 pomodoros)
|
||||||
- Visual progress indicator
|
- Auto-start break option
|
||||||
|
- Visual countdown with progress bar
|
||||||
|
|
||||||
### ⏱️ Stopwatch Mode
|
#### Stopwatch Mode
|
||||||
- Free-form time tracking without Pomodoro constraints
|
- Free-form time tracking
|
||||||
- Alerts when exceeding time estimates
|
- Alerts when you exceed your estimate
|
||||||
|
- Track actual time vs. estimated time
|
||||||
|
|
||||||
### 📊 Statistics
|
### 📊 Progress Tracking
|
||||||
- Daily completed tasks counter
|
- **Daily Stats**: See tasks completed, focus time, and more
|
||||||
- Total focus time tracking
|
- **Streak Counter**: Build momentum with consecutive productive days
|
||||||
- Streak tracking for consecutive productive days
|
- **Time Comparison**: Compare estimated vs. actual time to improve planning
|
||||||
- Pomodoro completion count
|
- **Pomodoro Count**: Track total pomodoros completed
|
||||||
|
|
||||||
### 📝 Daily Note Integration
|
### 🎨 User Experience
|
||||||
- Automatically log completed tasks to your daily note
|
- **Status Bar Timer**: timer that stays visible while you work
|
||||||
- Customizable date format and section heading
|
- **Celebration Messages**: Fun, randomized messages when you complete tasks
|
||||||
- Tracks time spent vs. estimated time
|
- **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
|
||||||
|
|
||||||
### 🎉 Celebrations & Feedback
|
## 🚀 Installation
|
||||||
- Celebration messages on task completion
|
|
||||||
- Sound notifications (optional)
|
|
||||||
- Visual feedback for early/late completions
|
|
||||||
|
|
||||||
## Installation
|
### 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
|
||||||
|
|
||||||
### Manual Installation
|
### Manual Installation
|
||||||
1. Download the latest release from the releases page
|
1. Download the latest release from the [releases page](https://git.cribdev.com/crib/focus-task/releases)
|
||||||
2. Extract the files into your vault's `.obsidian/plugins/focus-task/` folder
|
2. Extract the files to your vault's `.obsidian/plugins/focus-task/` folder
|
||||||
3. Reload Obsidian
|
3. Reload Obsidian
|
||||||
4. Enable the plugin in Settings → Community Plugins
|
4. Enable the plugin in Settings → Community Plugins
|
||||||
|
|
||||||
### From Source
|
### Building from Source
|
||||||
1. Clone this repository into your vault's `.obsidian/plugins/` folder
|
```bash
|
||||||
2. Run `npm install` to install dependencies
|
# Clone the repository
|
||||||
3. Run `npm run build` to compile the plugin
|
git clone https://git.cribdev.com/crib/focus-task.git
|
||||||
4. Reload Obsidian and enable the plugin
|
cd focus-task
|
||||||
|
|
||||||
## Usage
|
# Install dependencies
|
||||||
|
npm install
|
||||||
|
|
||||||
### Opening Focus Task
|
# Build the plugin
|
||||||
- Click the ⚡ icon in the ribbon (left sidebar)
|
npm run build
|
||||||
- Use the command palette: "Open Focus Task Panel"
|
|
||||||
|
|
||||||
### Adding Tasks
|
# Copy to your vault
|
||||||
- Click "+ Add Task" in the panel
|
cp main.js manifest.json styles.css /path/to/your/vault/.obsidian/plugins/focus-task/
|
||||||
- Use the command palette: "Quick Add Task"
|
```
|
||||||
- Set a time estimate and assign to a list
|
|
||||||
|
|
||||||
### Starting a Focus Session
|
## 📖 Usage
|
||||||
- **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
|
### 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!
|
||||||
|
|
||||||
### Keyboard Shortcuts
|
### 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`
|
|
||||||
|
|
||||||
## Settings
|
| 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
|
||||||
|
|
||||||
### Pomodoro Timer
|
### Pomodoro Timer
|
||||||
- **Work Duration**: Length of work sessions (5-60 minutes)
|
| Setting | Description | Default |
|
||||||
- **Short Break**: Length of short breaks (1-15 minutes)
|
|---------|-------------|---------|
|
||||||
- **Long Break**: Length of long breaks (5-30 minutes)
|
| Work Duration | Length of each work session | 25 min |
|
||||||
- **Long Break Interval**: Pomodoros before a long break
|
| 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 |
|
||||||
|
|
||||||
### General
|
### General
|
||||||
- **Default Time Estimate**: Default estimate for new tasks
|
| Setting | Description | Default |
|
||||||
- **Enable Sounds**: Toggle sound notifications
|
|---------|-------------|---------|
|
||||||
- **Enable Celebrations**: Toggle celebration messages
|
| Default Time Estimate | Default estimate for new tasks | 30 min |
|
||||||
|
| Enable Sounds | Play completion/alert sounds | On |
|
||||||
### Daily Note Integration
|
| Enable Celebrations | Show celebration messages | On |
|
||||||
- **Log completed tasks**: Enable/disable daily note logging
|
| Show Floating Timer | Display draggable timer widget | On |
|
||||||
- **Filename format**: Set your daily note naming convention (YYYY-MM-DD)
|
|
||||||
- **Section heading**: Customize the heading for logged tasks
|
|
||||||
|
|
||||||
### Lists
|
### Lists
|
||||||
- Create custom lists with names, icons, and colors
|
Customize your task lists with:
|
||||||
- Default lists: Work, Personal, Learning
|
- Custom names
|
||||||
|
- Emoji icons
|
||||||
|
- Color coding
|
||||||
|
|
||||||
## Credits
|
Default lists: Work 💼, Personal 🏠, Learning 📚
|
||||||
|
|
||||||
This plugin is heavily inspired by [Blitzit](https://www.blitzit.app/), a fantastic productivity app. Focus Task brings similar functionality directly into Obsidian.
|
## 🎨 Customization
|
||||||
|
|
||||||
## License
|
### Adding Custom Lists
|
||||||
|
1. Go to Settings → Focus Task → Lists
|
||||||
|
2. Click "+ Add List"
|
||||||
|
3. Set the name, emoji, and color
|
||||||
|
4. Click Save
|
||||||
|
|
||||||
MIT License - see [LICENSE](LICENSE) for details.
|
### Theming
|
||||||
|
Focus Task respects your Obsidian theme and adapts to both light and dark modes automatically.
|
||||||
|
|
||||||
## Support
|
## 📁 Project Structure
|
||||||
|
|
||||||
- [Report Issues](https://git.cribdev.com/crib/focus-task/issues)
|
```
|
||||||
- [Source Code](https://git.cribdev.com/crib/focus-task)
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📜 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/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
Made with ❤️ for the Obsidian community
|
||||||
|
<br>
|
||||||
|
Inspired by <a href="https://www.blitzit.app/">Blitzit</a> ⚡
|
||||||
|
</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user