2018-03-12 14:00:41 +00:00
|
|
|
# rodo
|
2018-04-18 04:12:32 +00:00
|
|
|
|
2019-11-02 18:41:41 +00:00
|
|
|
A minimal todo list program for people who live on the command line.
|
2019-07-11 02:21:54 +00:00
|
|
|
|
2019-03-02 15:49:45 +00:00
|
|
|
# Screenshot
|
|
|
|
|
|
|
|
![](screenshot.png)
|
2018-12-11 14:12:36 +00:00
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
# Table of Contents
|
|
|
|
|
2019-06-04 02:01:34 +00:00
|
|
|
- [TL;DR](#tldr)
|
2019-11-11 19:00:50 +00:00
|
|
|
- [Introduction](#introduction)
|
|
|
|
- [Conventions used in this readme](#conventions-used-in-this-readme)
|
2019-06-04 02:01:34 +00:00
|
|
|
- [Platforms](#platforms)
|
2019-11-02 18:40:38 +00:00
|
|
|
- [Requirements](#requirements)
|
2019-11-11 19:00:50 +00:00
|
|
|
- [Downloading the requirements](#downloading-the-requirements)
|
2019-06-04 02:01:34 +00:00
|
|
|
- [Downloading Racket](#downloading-racket)
|
2019-11-11 19:00:50 +00:00
|
|
|
- [To download Racket](#to-download-racket)
|
2019-06-04 02:01:34 +00:00
|
|
|
- [Downloading the rodo source code](#downloading-the-rodo-source-code)
|
2019-11-11 19:00:50 +00:00
|
|
|
- [To download the rodo source code](#to-download-the-rodo-source-code)
|
|
|
|
- [Running rodo from any directory](#downloading-rodo-from-any-directory)
|
2019-06-04 02:01:34 +00:00
|
|
|
- [Setting up a $PATH](#setting-up-a-path)
|
2019-11-11 19:00:50 +00:00
|
|
|
- [To set up a $PATH](#to-set-up-a-path)
|
2019-06-04 02:01:34 +00:00
|
|
|
- [Adding rodo to your $PATH](#adding-rodo-to-your-path)
|
2019-11-11 19:00:50 +00:00
|
|
|
- [To add rodo to your $PATH](#to-add-rodo-to-your-path)
|
2019-06-04 02:01:34 +00:00
|
|
|
- [List of commands](#list-of-commands)
|
|
|
|
- [Usage examples](#usage-examples)
|
2019-11-02 18:40:38 +00:00
|
|
|
- [Configuring rodo](#configuring-rodo)
|
2019-04-30 01:35:44 +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
|
2019-11-02 18:40:38 +00:00
|
|
|
4. Choose one of the options below for running rodo:
|
|
|
|
* To use rodo using the Racket interpreter run: `racket rodo.rkt`
|
2019-11-11 19:00:50 +00:00
|
|
|
* To use rodo as an single-file executable follow the steps below:
|
|
|
|
1. Run `raco exe rodo.rkt` to compile rodo into a single-file executable
|
|
|
|
2. Run `./rodo`
|
2019-11-02 18:40:38 +00:00
|
|
|
5. (optional) Create a wrapper in 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-11-11 19:00:50 +00:00
|
|
|
If you are using a single-file executable, create a wrapper as follows:
|
|
|
|
|
|
|
|
```
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
~/path/to/rodo "$@"
|
|
|
|
```
|
|
|
|
|
|
|
|
# Introduction
|
|
|
|
|
|
|
|
This readme will guide you through downloading, installing, and using the rodo
|
|
|
|
todo list program. It is intended for people who spend a lot of their time on the
|
|
|
|
command line and want a minimal todo list application.
|
|
|
|
|
|
|
|
# Conventions used in this readme
|
|
|
|
|
|
|
|
* Notes - Notes signify additional information
|
|
|
|
* Tips - Tips signify an alternate procedure for completing a step
|
|
|
|
* Cautions - Cautions signify that damage may occur
|
|
|
|
* Examples - Examples provide a visual reference of how a procedure would be carried out in the real world
|
|
|
|
* `Inline code` - Inline code signifies package names, filenames, or commands
|
|
|
|
* ```Code blocks``` - Code blocks signify file contents
|
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
# Platforms
|
2018-05-20 02:03:00 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
Below is a list of platforms that rodo can run on:
|
2019-02-14 20:09:47 +00:00
|
|
|
|
2019-06-08 14:03:04 +00:00
|
|
|
* GNU/Linux
|
2019-11-02 18:40:38 +00:00
|
|
|
* Windows Subsystem for Linux
|
2019-04-30 01:35:44 +00:00
|
|
|
* macOS (Untested)
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
# Requirements
|
2019-06-08 14:03:04 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
The following items must be installed before you can use rodo:
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
* Racket: [https://racket-lang.org/](https://racket-lang.org/)
|
|
|
|
* rodo's source code: [https://github.com/m455/rodo](https://github.com/m455/rodo)
|
2019-04-30 01:35:44 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
# Downloading the requirements
|
|
|
|
|
|
|
|
This section will guide you through downloading the required items for running
|
|
|
|
rodo.
|
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
## Downloading Racket
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
The Racket programming language will be needed to interpret or compile rodo.
|
|
|
|
|
|
|
|
### To download Racket
|
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
1. run `sudo apt install racket` on the command line
|
2019-04-30 01:35:44 +00:00
|
|
|
|
|
|
|
## Downloading the rodo source code
|
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
rodo's source code is needed so Racket can interpret or compile rodo.
|
|
|
|
|
|
|
|
### To download the rodo source code
|
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
1. run `git clone https://github.com/m455/rodo`
|
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
# Running rodo from any directory
|
2018-09-08 01:01:00 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
This section will guide you through setting up your `$PATH` and adding rodo to
|
|
|
|
your `$PATH`. This will allow you to run rodo from any directory on your system.
|
2019-02-25 03:36:32 +00:00
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
## Setting up a $PATH
|
2018-10-20 01:36:52 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
A `$PATH` is a directory in which you can place executable files or scripts.
|
2019-11-11 19:00:50 +00:00
|
|
|
After placing executable files or scripts in your `$PATH` directory, you can
|
|
|
|
then run these files or scripts from any directory on your machine.
|
2019-02-25 03:57:55 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
**Tip**: If you have a `$PATH` already, then skip to [Adding rodo to your
|
|
|
|
$PATH](#adding-rodo-to-your-path)
|
2019-01-31 14:46:14 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
### To set up a $PATH
|
|
|
|
|
|
|
|
1. Create a `~/bin/` directory for your `$PATH` by running `mkdir ~/bin/`
|
|
|
|
2. Add the `~/bin` directory to your `$PATH` by running the following command:
|
|
|
|
|
|
|
|
```
|
|
|
|
echo "export PATH=~/bin:\$PATH" >> .bashrc
|
|
|
|
```
|
2019-01-31 14:46:14 +00:00
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
## Adding rodo to your $PATH
|
2019-01-31 14:46:14 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
After rodo has been added to your `$PATH`, you will be able to run it from any
|
|
|
|
directory on your machine.
|
|
|
|
|
|
|
|
### To add rodo to your $PATH
|
|
|
|
|
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 "$@"
|
|
|
|
```
|
|
|
|
|
2018-12-11 13:53:32 +00:00
|
|
|
2. Save the file
|
|
|
|
3. Make the file executable by running `chmod u+x ~/bin/name-of-your-file`
|
2018-11-12 02:56:10 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
**Example**: You create a file called `rodo` in your `~/bin/` directory with
|
|
|
|
the following contents in it if you downloaded the rodo directory to your
|
|
|
|
`~/downloads/` directory:
|
|
|
|
|
|
|
|
```
|
|
|
|
racket ~/downloads/rodo/rodo.rkt "$@"
|
|
|
|
```
|
|
|
|
|
|
|
|
You would then make the rodo file executable by running the following
|
|
|
|
command:
|
|
|
|
|
|
|
|
```
|
|
|
|
chmod u+x ~/bin/rodo
|
|
|
|
```
|
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
# List of commands
|
2018-04-18 04:04:10 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
This section lists and describes rodo's commands.
|
2018-04-10 00:27:01 +00:00
|
|
|
|
2019-04-30 01:35:44 +00:00
|
|
|
* `-h` or `--help` displays the help message
|
2019-11-02 18:44:55 +00:00
|
|
|
* `init` creates a list file (See the `config.rkt` file for the default location of this file)
|
2019-11-02 18:40:38 +00:00
|
|
|
* `ls` displays your list
|
|
|
|
* `add` adds an item to your list
|
|
|
|
* `rm` removes an item from your list
|
2018-04-13 06:14:51 +00:00
|
|
|
|
2019-04-30 00:31:36 +00:00
|
|
|
# Usage examples
|
2018-04-10 00:27:01 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
The examples below assume that you have [added rodo to your $PATH](#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-11-02 18:40:38 +00:00
|
|
|
`rodo add "this is an item"`
|
2018-09-08 04:30:28 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
`rodo add this is an item without quotation marks`
|
2018-09-08 04:30:28 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
`rodo rm 1`
|
2018-04-18 04:04:10 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
**Note**: You may have to run `rodo ls` to see which number corresponds to which item in your list.
|
2019-03-13 03:43:15 +00:00
|
|
|
|
2019-11-02 18:40:38 +00:00
|
|
|
# Configuring rodo
|
2018-04-18 04:12:32 +00:00
|
|
|
|
2019-11-11 19:00:50 +00:00
|
|
|
**Caution**: Changing the `config.rkt` file should be done at your own risk as it may break rodo's functionality
|
2019-02-25 03:36:32 +00:00
|
|
|
|
2019-11-02 18:47:42 +00:00
|
|
|
Settings such as the program name, directory, and the filename of the todo list
|
|
|
|
file can be changed by editing the `config.rkt` file.
|