4 stable releases
1.2.1 | Aug 4, 2024 |
---|---|
1.2.0 | Feb 7, 2023 |
1.1.0 | Nov 27, 2022 |
1.0.0 | Nov 23, 2022 |
#100 in Template engine
153 downloads per month
220KB
2K
SLoC
Term Keep
Terminal-based Google Keep clone. Can be used as a note taking / To-Do list app on a server.
Quickstart
Install using cargo:
cargo install term_keep
Or clone the repository, and install manually. Add the executable to your PATH
afterwards.
cargo build --release
Specify where you want to store the database by defining the TERM_KEEP_DB_PATH
environment variable.
Example using the ~/.bashrc
file:
export TERM_KEEP_DB_PATH=/home/my_user/.term-keep/data.db
Execute the following command to see the list of subcommands:
term_keep -h
Optionally, you can create an alias to make its access quicker and more convenient:
# ~/.bashrc
alias tk=term_keep
Description
Motivation
Several note taking or to-do apps exist nowadays, but because most of them use a graphical interface, not many are compatible with a cloud server.
This app can be used to store memo notes or tasks related to your server administration work, such as projects to complete, tasks related to data that needs to be backed up, or configuration files that are incomplete and need to be worked on.
Features
For a comprehensive list of features, execute the help command:
term_keep -h
Notes and Tasks
Two types of notes are supported:
- Normal Notes: Useful for memos, and storing arbitrary information.
- Tasks: Tasks that need to be completed. Each task has one of three possible states: to-do (not started), in-progress, and done.
Editor Agnostic Editing
When creating or editing a note, Term Keep simply opens the default editor. This means you can use Vim, Nano, Neovim, or whatever you like.
The editor can be configured through the EDITOR
environment variable.
Markdown
Notes can be formatted using markdown, which is powered by the termimad library.
Checklists
You can also create checklists inside notes, similar to how task lists are handled in Github issues.
Today's tasks
- [] Clean my room
- [] Do 3 hours of work
- [x] Shower
This will be displayed with a simple format and coloring when showing the note's content.
Templates
You can create notes from a template that you've previously created.
Explore template related commands:
term_keep -h | grep template
# Help for individual commands
term_keep templates -h
term_keep upsert-template -h
term_keep remove-template -h
# etc
Configuration
Environment Variables
Variable Name | Description | Example |
---|---|---|
EDITOR |
Editor to use | vim |
TERM_KEEP_DB_PATH |
Path to store the database file | ~/.term-keep/test.db |
TERM_KEEP_SUMMARY_MAX_LENGTH |
Amount of characters displayed before truncating a note's summary (when executing the main command term_keep ) |
100 |
TERM_KEEP_HIDE_LOGO |
Hide logo. Logo is shown by default. | 0 (false) or 1 (true). |
Development
Tools Used
- Rust (with Cargo)
- SQLite
Format
cargo fmt
Lint
cargo clippy
Testing
cargo test
Dependencies
~34–46MB
~768K SLoC