Tree


.gitignorecommits | blame
Cargo.lockcommits | blame
Cargo.tomlcommits | blame
LICENSEcommits | blame
README.mdcommits | blame
src/

README.md

# todoist-to-todotxt

Very crude (read: horrible) [Todoist](todoist.com/) to [Todo.txt](https://github.com/todotxt/todo.txt) converter.  
In order to use this, export your Todoist data and unpack the zip-archive to get the csv files.

Features:

- Content/Description (converted to a single string)
- Priority
- Due date (with "due:YYYY-MM-DD" key-value tag)
- Project Tag
- Context Tag

The project tag is derived from the file name.

This **CAN'T**:

- convert recurring tasks
- retain information about indentation
- retain author information
- convert timezones
- convert sections

Patches and discussions are *more* than welcome. This isn't actively developed but if a feature is requested I might be able to implement it, myself.  
Of course you're welcome to implement any features yourself and send a patch to the mailing list below.

## Compiling

Install the dependencies:

- Rust

Then compile `todoist-to-todotxt`:

```
cargo build
```

## Usage

```
todoist-to-todotxt project.csv [...] 1>todo.txt
```

Output to `stdout` will be the Todo.txt format.  
`stderr` will contain more information, like if a task's due date couldn't be converted due to being a recurring task.

## Resources

Send patches and questions to [~witcher/public-inbox@lists.sr.ht](https://lists.sr.ht/~witcher/public-inbox).

Instructions for preparing a patch are available at [git-send-email.io](https://git-send-email.io/).