added README
This commit is contained in:
parent
0424408ba5
commit
4b9a554e8c
88
README.md
Normal file
88
README.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# Obsidian-tasks
|
||||||
|
|
||||||
|
A Python script that synchronizes tasks from an Obsidian vault to a Nextcloud
|
||||||
|
calendar.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Parses task lists in Markdown files using specific syntax
|
||||||
|
- Supports due dates, start times, and scheduled times for tasks
|
||||||
|
- Automatically syncs completed tasks with the calendar
|
||||||
|
- Handles recurring tasks and priorities
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Python 3.7+
|
||||||
|
- Poetry (for dependency management)
|
||||||
|
- Obsidian vault with task list markdown files
|
||||||
|
- Nextcloud server with CalDAV support
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### Step 1: Clone the repository
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.dresselhaus.cloud/Drezil/obsidian-tasks.git
|
||||||
|
cd obsidian-tasks
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2: Configure environment variables
|
||||||
|
|
||||||
|
Copy `env.example` to `.env` and fill in your values:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp env.example .env
|
||||||
|
nano .env
|
||||||
|
```
|
||||||
|
|
||||||
|
Required variables:
|
||||||
|
|
||||||
|
- `OBSIDIAN_VAULT_PATH`: Path to your Obsidian vault (default: current
|
||||||
|
directory)
|
||||||
|
- `NEXTCLOUD_URL`: Your Nextcloud CalDAV URL
|
||||||
|
- `NEXTCLOUD_USER`: Your Nextcloud username
|
||||||
|
- `NEXTCLOUD_PASSWORD`: Your Nextcloud password or app-password (app-passwords
|
||||||
|
are VERY much preferred!)
|
||||||
|
|
||||||
|
### Step 3: Install dependencies
|
||||||
|
|
||||||
|
```bash
|
||||||
|
poetry install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 4: Set up as a cronjob
|
||||||
|
|
||||||
|
Add the following line to your crontab (edit with `crontab -e`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
0 2 * * * cd /path/to/obsidian-tasks && poetry run python ./find_obsidian_tasks.py >> /var/log/obsidian-sync.log 2>&1
|
||||||
|
```
|
||||||
|
|
||||||
|
This will run the script daily at 2 AM and log output to
|
||||||
|
`/var/log/obsidian-sync.log`.
|
||||||
|
|
||||||
|
## Task Syntax
|
||||||
|
|
||||||
|
Tasks are defined in Markdown files using this syntax:
|
||||||
|
|
||||||
|
- `- [x] Completed task` or `- [-] Cancelled task`
|
||||||
|
- `- [ ] Pending task`
|
||||||
|
- `- [+/?!] Incomplete task`
|
||||||
|
|
||||||
|
Optional metadata:
|
||||||
|
|
||||||
|
- `📅 2025-12-31`: Due date
|
||||||
|
- `🛫 2025-12-31`: Start time
|
||||||
|
- `⏳ 2025-12-31`: Scheduled time (if different from due date)
|
||||||
|
- `🔁 weekly`: Recurrence pattern
|
||||||
|
- `‼` or `❗`: Priority indicator
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
- [ ] 📝 Write documentation 📅 2025-12-31 ⏳ 2025-12-28 🔁 weekly ‼
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License.
|
Loading…
x
Reference in New Issue
Block a user