2018-03-12 14:00:41 +00:00
|
|
|
# rodo
|
2018-04-18 04:12:32 +00:00
|
|
|
|
2019-04-12 13:23:46 +00:00
|
|
|
A easy-to-use todo list program for people who live on the command line
|
2018-05-20 02:03:00 +00:00
|
|
|
|
2019-03-02 15:49:45 +00:00
|
|
|
# Screenshot
|
|
|
|
|
|
|
|
![](screenshot.png)
|
2018-12-11 14:12:36 +00:00
|
|
|
|
2019-03-13 03:29:01 +00:00
|
|
|
# TL;DR
|
|
|
|
|
2019-03-23 19:29:06 +00:00
|
|
|
1. Make sure [Racket](https://racket-lang.org/) is installed
|
|
|
|
2. `git clone https://github.com/m455/rodo` into a directory of your choice
|
2019-04-12 13:23:46 +00:00
|
|
|
3. `cd` into the `rodo` directory
|
|
|
|
4. Run one of the following commands:
|
|
|
|
* To use `rodo` using the Racket interpreter run: `racket rodo.rkt`
|
|
|
|
* To use `rodo` as an single-file executable follow the two steps below:
|
|
|
|
1. Run `raco exe rodo.rkt` to compile the `rodo` into a single-file executable
|
|
|
|
2. Run `./rodo`
|
|
|
|
5. (optional) Add the following to your `$PATH` directory to run `rodo` from
|
|
|
|
anywhere.
|
2019-03-23 19:29:06 +00:00
|
|
|
|
|
|
|
```
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
racket ~/path/to/rodo.rkt "$@"
|
|
|
|
```
|
2019-03-13 03:29:01 +00:00
|
|
|
|
2019-04-12 13:24:57 +00:00
|
|
|
Note: If you made an executable, remember to change the `rodo.rkt` part above to `rodo`
|
2019-04-12 13:23:46 +00:00
|
|
|
|
2019-04-12 13:26:29 +00:00
|
|
|
# New things!
|
|
|
|
|
|
|
|
Now the default directory and todo list file have better default permissions:
|
|
|
|
|
2019-04-12 13:27:31 +00:00
|
|
|
* `rodo` is now licensed under AGPL3!
|
2019-04-12 13:26:29 +00:00
|
|
|
* `~/.rodo/` is set to 700 by default
|
|
|
|
* `~/.rodo/todo.txt` is set to 600 by default.
|
|
|
|
|
|
|
|
# Todos
|
|
|
|
|
|
|
|
- Update README so it's up to "technical writing standards"
|
|
|
|
- Add color option to `config.rkt` file
|
|
|
|
- Encrypt `todo.txt` file
|
|
|
|
|
2018-09-08 01:23:57 +00:00
|
|
|
# Table of Contents
|
|
|
|
|
|
|
|
* [Platforms](https://github.com/m455/rodo#platforms)
|
2019-01-31 14:46:14 +00:00
|
|
|
* [Requirements](https://github.com/m455/rodo#requirements)
|
2018-10-10 13:19:11 +00:00
|
|
|
* [Downloading](https://github.com/m455/rodo#downloading)
|
2018-09-08 04:07:43 +00:00
|
|
|
* [Setup](https://github.com/m455/rodo#setup)
|
2019-04-30 00:30:46 +00:00
|
|
|
* [List of commands](https://github.com/m455/rodo#list-of-commands)
|
2019-04-30 00:31:36 +00:00
|
|
|
* [Usage examples](https://github.com/m455/rodo#usage-examples)
|
2018-09-08 01:23:57 +00:00
|
|
|
* [Configuration](https://github.com/m455/rodo#configuring-rodo)
|
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
# Platforms
|
2018-05-20 02:03:00 +00:00
|
|
|
|
2019-02-14 20:09:47 +00:00
|
|
|
Below is a list of platform(s) that `rodo` is currently available for.
|
|
|
|
|
2019-03-23 19:08:37 +00:00
|
|
|
* Unix-like operating systems:
|
2019-04-12 13:26:29 +00:00
|
|
|
* Windows Subsystem for Linux (Works)
|
2019-03-23 19:08:37 +00:00
|
|
|
* GNU/Linux (Untested)
|
|
|
|
* macOS (Untested)
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-01-31 14:46:14 +00:00
|
|
|
# Requirements
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-02-14 20:09:47 +00:00
|
|
|
Below is a list of items needed for running `rodo` on your machine.
|
|
|
|
|
2018-09-08 01:30:36 +00:00
|
|
|
* [Racket 6.x](https://racket-lang.org/)
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
# Downloading
|
2018-07-31 02:33:48 +00:00
|
|
|
|
2019-03-12 19:06:57 +00:00
|
|
|
Run the command below to download `rodo` using the `git` command.
|
2019-02-25 03:36:32 +00:00
|
|
|
|
2019-03-12 19:06:57 +00:00
|
|
|
```
|
|
|
|
git clone https://github.com/m455/rodo
|
|
|
|
```
|
2018-09-08 01:31:43 +00:00
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
# Setup
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-02-25 03:36:32 +00:00
|
|
|
Follow the sections below to set up `rodo`, so it can be used from anywhere on
|
|
|
|
your system.
|
|
|
|
|
2019-03-11 20:28:30 +00:00
|
|
|
**Tip: If you just want to test `rodo` out, then just `cd` into the directory you downloaded
|
2019-02-25 03:43:41 +00:00
|
|
|
`rodo` into, and then run `./rodo.rkt`.**
|
2018-10-20 01:36:52 +00:00
|
|
|
|
2019-03-23 19:11:10 +00:00
|
|
|
## Set up a `$PATH`
|
2018-12-11 13:53:32 +00:00
|
|
|
|
2019-02-25 03:57:55 +00:00
|
|
|
Follow the steps below if you haven't set up a `$PATH`.
|
|
|
|
|
2019-03-09 16:37:36 +00:00
|
|
|
**Tip: If you have set up a `$PATH` already, then skip to the next step, [Adding
|
|
|
|
`rodo` to your `$PATH`](https://github.com/m455/rodo#adding-rodo-to-your-path).**
|
2019-01-31 14:46:14 +00:00
|
|
|
|
|
|
|
1. Create a directory for your `$PATH` by running `mkdir ~/bin/`
|
|
|
|
2. Add your newly-created `~/bin/` to your `$PATH` by running `echo "export PATH=~/bin:\$PATH" >> .bashrc`
|
|
|
|
|
2019-03-23 19:11:10 +00:00
|
|
|
## Adding `rodo` to your `$PATH`
|
2019-01-31 14:46:14 +00:00
|
|
|
|
2019-03-09 16:37:36 +00:00
|
|
|
Follow the steps below to add the `rodo.rkt` file to your `$PATH`.
|
|
|
|
|
2019-03-09 16:49:28 +00:00
|
|
|
**Tip: If you prefer to use an executable, rather than a wrapper (see the note after step one below to see what a "wrapper" is), you can create an
|
2019-03-09 16:37:36 +00:00
|
|
|
executable binary file with `raco exe rodo.rkt` when in the same folder as the
|
2019-03-09 16:49:28 +00:00
|
|
|
`rodo.rkt` file. If you are having trouble with the `raco exe` command, refer to Racket's
|
2019-03-09 16:37:36 +00:00
|
|
|
documentation regarding the [creation of standalone executables](https://docs.racket-lang.org/raco/exe.html).**
|
2019-02-14 20:09:47 +00:00
|
|
|
|
2019-01-31 14:46:14 +00:00
|
|
|
1. Create a file in your `~/bin/` directory with the following contents in it:
|
|
|
|
|
|
|
|
```
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
racket ~/path/to/rodo.rkt "$@"
|
|
|
|
```
|
|
|
|
|
2019-03-09 16:49:28 +00:00
|
|
|
**Note: The file created above is called a "wrapper". This is a script that
|
|
|
|
runs the `rodo.rkt` file through the Racket interpreter. If you wish to
|
|
|
|
directly run `rodo` as an executable from your `$PATH`, see the tip above**
|
2019-03-09 16:43:46 +00:00
|
|
|
|
2019-02-25 03:36:32 +00:00
|
|
|
For example: If you downloaded the project to your `~/downloads/` folder you would change the line
|
2019-02-14 20:01:33 +00:00
|
|
|
`racket ~/path/to/rodo.rkt "$@"` to `racket ~/downloads/rodo/rodo.rkt "$@"`.
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
2. Save the file
|
2018-10-10 13:19:11 +00:00
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
3. Make the file executable by running `chmod u+x ~/bin/name-of-your-file`
|
2018-11-12 02:56:10 +00:00
|
|
|
|
2019-04-30 00:30:46 +00:00
|
|
|
# List of commands
|
2018-05-20 02:03:00 +00:00
|
|
|
|
2019-04-30 00:30:46 +00:00
|
|
|
Type `rodo` plus one of the commands below.
|
2018-05-20 02:03:00 +00:00
|
|
|
|
2019-03-13 03:43:15 +00:00
|
|
|
`-h` or `--help` - Displays the help message
|
|
|
|
|
|
|
|
`init` - Creates a file called `todo.txt` in `~/.rodo/` by default
|
2019-02-25 03:49:46 +00:00
|
|
|
|
2019-03-09 16:40:19 +00:00
|
|
|
**Note: The directory and filename can be changed by modifying the `config.rkt` file**
|
2018-09-08 04:07:43 +00:00
|
|
|
|
2019-03-13 03:43:15 +00:00
|
|
|
`ls` - Displays numbered items in the todo list
|
2018-04-18 04:04:10 +00:00
|
|
|
|
2019-03-13 03:43:15 +00:00
|
|
|
`add` - Adds an item to the todo list
|
2018-04-10 00:27:01 +00:00
|
|
|
|
2019-02-25 03:36:32 +00:00
|
|
|
`rm` - Removes an item from the todo list
|
2018-04-13 06:14:51 +00:00
|
|
|
|
2019-03-09 16:40:19 +00:00
|
|
|
**Note: You may have to run `rodo ls` to see which number corresponds to which item when removing items.**
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-04-30 00:31:36 +00:00
|
|
|
# Usage examples
|
2018-04-10 00:27:01 +00:00
|
|
|
|
2019-04-30 00:30:46 +00:00
|
|
|
The examples below assume that you have [added `rodo` to your `$PATH`](https://github.com/m455/rodo#adding-rodo-to-your-path).
|
2018-04-18 04:12:32 +00:00
|
|
|
|
2019-03-13 03:43:15 +00:00
|
|
|
`rodo -h`
|
|
|
|
|
|
|
|
`rodo --help`
|
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
`rodo init`
|
2018-04-13 06:14:51 +00:00
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
`rodo ls`
|
2018-09-08 04:30:28 +00:00
|
|
|
|
2019-03-13 03:43:15 +00:00
|
|
|
`rodo add "this is a task"`
|
2018-09-08 04:30:28 +00:00
|
|
|
|
2019-03-12 20:18:19 +00:00
|
|
|
`rodo add this is a task without quotes`
|
2018-09-08 04:30:28 +00:00
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
`rodo rm 1`
|
2018-04-18 04:04:10 +00:00
|
|
|
|
2019-03-13 03:43:15 +00:00
|
|
|
**Note: You may have to run `rodo ls` to see which number corresponds to which item when removing items.**
|
|
|
|
|
2019-02-14 20:09:47 +00:00
|
|
|
# Configuring `rodo`
|
2018-04-18 04:12:32 +00:00
|
|
|
|
2019-03-09 16:40:19 +00:00
|
|
|
**Caution: Change the `config.rkt` file at your own risk, as it may break things!**
|
2019-02-25 03:36:32 +00:00
|
|
|
|
|
|
|
Right now, the configurations can be found in the `config.rkt file`. Settings,
|
|
|
|
such as the program name, directory, and the filename of the todo list file can
|
|
|
|
be changed.
|
2018-10-10 19:05:54 +00:00
|
|
|
|