TUI-Journal is a terminal-based application written in Rust that allows you to write and manage your journal/notes from within the comfort of your terminal. It provides a simple and efficient interface for creating and organizing your thoughts, ideas, and reflections. TUI-Journal supports two different local back-ends: a plain text back-end in JSON format and a database back-end using SQLite.
[ ] RESTful back-end server with a client in the app.
[ ] Customize themes and keybindings.
Ensure you have Rust installed on your system.
To install TUI-Journal with default features (SQLite and JSON), you can use cargo
to install directly from the GitHub repository:
bash
cargo install --git https://github.com/ammarabouzor/tui-journal
This will clone the repository and build the TUI-Journal executable, which can be accessed globally.
You can choose to install TUI-Journal with specific features enabled or disabled by customizing the cargo installation command. To install TUI-Journal with only the JSON back-end feature, use the following command:
bash
cargo install --git https://github.com/ammarabouzor/tui-journal --no-default-features --features json
To install TUI-Journal with only the SQLite back-end feature, use the following command:
bash
cargo install --git https://github.com/ammarabouzor/tui-journal --no-default-features --features sqlite
On NetBSD a pre-compiled binary built with default features is available from the official repositories. To install it, simply run:
bash
pkgin install tui-journal
Once installed, you can run TUI-Journal by typing tjournal
in your terminal:
bash
$ tjournal
To view the available arguments and commands, you can use the --help
or -h
flag:
```bash $ tjournal --help
Usage: tjournal [OPTIONS] [COMMAND]
Commands: get-json-path Gets the current entries Json file path [aliases: gj] get-sqlite-path Gets the current entries sqlite file path [aliases: gs] help Print this message or the help of the given subcommand(s)
Options:
-j, --json-file-path
The configuration for TUI-Journal can be found in the config.toml
file located in the configuration folder within the TUI-Journal directory.
Here is a sample of the default settings in the config.toml
file:
```toml backend_type = "Sqlite"
[jsonbackend]
filepath = "
[sqlitebackend]
filepath = "
TUI-Journal would not have been possible without the following open-source crates:
tui-rs and its revival ratatui: TUI-Journal utilizes the tui-rs
and ratatui
crates, which provide a framework for building terminal user interfaces in Rust. They offer a wide range of components and utilities to create interactive and responsive TUI applications.
tui-texteditor: TUI-Journal leverages the tui-texteditor
crate, which offers a text editor widget specifically designed for terminal-based applications. It provides functionalities such as text manipulation, cursor movement, and scrolling within the TUI environment.
sqlx: TUI-Journal benefits from the sqlx
crate, which is a Rust library for interacting with databases. It enables seamless integration with SQLite, allowing TUI-Journal to store journal entries and notes in a reliable and efficient manner.
These crates have greatly contributed to the development of TUI-Journal, and the project extends its gratitude to the maintainers and contributors of these fantastic open-source libraries.
As the author of TUI-Journal and being new to the open-source community, I would greatly appreciate any contributions from experienced developers. Your contributions can help enhance the functionality, usability, and overall quality of TUI-Journal.
If you have any ideas, bug reports, or feature requests, please don't hesitate to open an issue on the TUI-Journal. Your feedback and input are invaluable in improving the application.
If you would like to contribute code, documentation, or any other form of assistance, I am open to collaboration. Please reach out through the GitHub repository and let's discuss how you can contribute to TUI-Journal.
Thank you for considering contributing to TUI-Journal. Your support is highly appreciated!