mirror of
https://codeberg.org/Kankys/doxa.git
synced 2026-11-11 06:44:36 +01:00
126 lines
3.4 KiB
Markdown
126 lines
3.4 KiB
Markdown
# DOXA-TODO 🦅
|
|
|
|
**Local-First Todo Manager** - A minimalist terminal-based todo application for managing your tasks with support for categories, priorities, and tags.
|
|
|
|
## Features
|
|
|
|
- **Dual Language Support**: Czech and English (toggle with `l` key)
|
|
- **Categories**: Personal and Work tasks
|
|
- **Priorities**: 3 levels (Low, Medium, High)
|
|
- **Tags**: Support for tagging todos
|
|
- **Automatic Date**: Creation and modification timestamps
|
|
- **Persistent Storage**: Todos are saved to `~/.doxa-todo/doxa_todo.json`
|
|
- **Search & Filter**: Search by text, browse by tags, filter by category
|
|
- **Export**: Export individual todos to text files
|
|
- **Completed Todos**: Mark todos as completed/incomplete with automatic sorting to the end of the list
|
|
|
|
## Installation
|
|
|
|
### Using install.sh (Recommended)
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://codeberg.org/Kankys/doxa-todo.git
|
|
cd doxa-todo
|
|
|
|
# Make install.sh executable and run it
|
|
chmod +x install.sh
|
|
./install.sh
|
|
```
|
|
|
|
The script will:
|
|
1. Check for Go installation
|
|
2. Download dependencies
|
|
3. Compile the application
|
|
4. Install to `~/.local/bin`
|
|
5. Create configuration directory at `~/.doxa-todo`
|
|
|
|
### Manual Installation
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://codeberg.org/Kankys/doxa-todo.git
|
|
cd doxa-todo
|
|
|
|
# Build the application
|
|
go build -o doxa-todo .
|
|
|
|
# Install to your PATH
|
|
cp doxa-todo ~/.local/bin/
|
|
chmod +x ~/.local/bin/doxa-todo
|
|
|
|
# Make sure ~/.local/bin is in your PATH
|
|
export PATH=$PATH:~/.local/bin
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Keyboard Shortcuts
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| `Enter` | Start application / View selected todo |
|
|
| `q` | Quit application / Go back |
|
|
| `Esc` | Go back / Clear search |
|
|
| `1` | Add new todo |
|
|
| `2` | Edit selected todo |
|
|
| `3` | Export selected todo |
|
|
| `4` | Delete selected todo |
|
|
| `/` | Search todos |
|
|
| `b` | Browse tags |
|
|
| `c` | Filter by category |
|
|
| `l` | Toggle language (Czech/English) |
|
|
| `t` | Toggle todo completion status |
|
|
| `+` | Increase priority (when adding/editing) |
|
|
| `↑/↓` or `j/k` | Navigate through list |
|
|
| `Tab` | Switch between fields |
|
|
|
|
### Todo Structure
|
|
|
|
Each todo has:
|
|
- **Title** (required)
|
|
- **Description** (optional)
|
|
- **Priority**: Low (●), Medium (●), High (●) - with color coding
|
|
- **Category**: Personal (🏠) or Work (💼)
|
|
- **Tags**: Comma-separated list
|
|
- **Created At**: Automatic timestamp
|
|
- **Modified At**: Automatic timestamp on edits
|
|
- **Completed**: Completion status (toggle with `t` key)
|
|
|
|
### Storage
|
|
|
|
All todos are stored in JSON format at:
|
|
```
|
|
~/.doxa-todo/doxa_todo.json
|
|
```
|
|
|
|
Exported todos are saved to:
|
|
```
|
|
~/doxa-todo-export/
|
|
```
|
|
|
|
## Completed Todos
|
|
|
|
The application supports marking todos as completed:
|
|
- **Toggle Status**: Select a todo and press `t` to toggle between completed/incomplete
|
|
- **Visualization**: Completed todos are displayed with strikethrough and gray color
|
|
- **Automatic Sorting**: Completed todos are always displayed at the end of the list (after incomplete ones)
|
|
- **Persistent Storage**: Completion status is saved with the todo
|
|
|
|
## Configuration
|
|
|
|
The application automatically creates the configuration directory and file on first run.
|
|
|
|
## License
|
|
|
|
MIT License - Copyright (c) 2026 Kankys
|
|
|
|
## Author
|
|
|
|
Kankys - [Codeberg](https://codeberg.org/Kankys)
|
|
|
|
## Related Projects
|
|
|
|
- [doxa-cli](https://codeberg.org/Kankys/doxa-cli) - Local-First Notes Manager
|
|
- [doxa-secret](https://codeberg.org/Kankys/doxa-secret) - Message Encryption Tool
|