Manage and document system changes. Create, read, update, and validate journal entries in a specified directory. Entries are stored in Markdown format and include sections for titles, dates, body content, and code snippets.
Go to file
2024-09-03 01:29:16 +02:00
src refactor: port code from Go to Rust 2024-08-31 00:55:52 +02:00
.gitignore docs: update for change from go to rust 2024-08-31 00:56:32 +02:00
Cargo.lock build: change build system 2024-08-31 00:56:11 +02:00
Cargo.toml build: change build system 2024-08-31 00:56:11 +02:00
CHANGELOG.md docs: update for change from go to rust 2024-08-31 00:56:32 +02:00
CODE_OF_CONDUCT.md make the code usable 2024-08-26 02:45:31 +02:00
LICENSE.md make the code usable 2024-08-26 02:45:31 +02:00
README.md docs(README): change html in readme to make logo smaller 2024-09-03 01:29:16 +02:00

Jot's logo

jot: Journal Operations Tool

Manage and document system changes with ease.

jot is a command-line tool designed to help you create, read, update, and validate journal entries. Ideal for keeping detailed logs of system changes, this tool is easy to use.

Installing / Getting Started

Releases

For every new update, I make a new release and compile the binaries myself.

Build from Source

To build jot from source, you'll need to have Rust and Cargo installed. You can install Rust from rust-lang.org.

$ git clone https://github.com/walker84837/jot-rs.git
$ cd jot
$ cargo build --release

This will build the jot executable, which you can then use directly.

Initial Configuration

Optionally, you can specify the directory where journal entries will be stored by setting the JOURNAL_DIR environment variable:

$ export JOURNAL_DIR="/path/to/your/journal/entries"

or you can specify it using the -d or --dir, like so:

$ jot --dir ~/Documents/admin-entries create --name system-update

Features

jot offers several powerful features:

  • Create Entries: Generate a new journal entry with a title and optional content.
  • Read Entries: View specific fields or the entire content of a journal file.
  • Update Entries: Edit existing journal entries using your preferred text editor.
  • Validate Entries: Check if an entry adheres to the required format.
  • Customizable Entry Directory: Configure the storage location for entries via command-line arguments or environment variables.

Usage

jot uses subcommands to perform various operations. Here's how you can use each of them:

Creating an Entry

$ jot create --name "system-update"

Creates a new journal entry titled "system-update".

Reading an Entry

$ jot read --field all 001-system-update.md

Displays the entire content of the entry file 001-system-update.md. You can also specify a field (title, body, date, code) to view a specific part of the entry.

Updating an Entry

$ jot update 001-system-update.md

Opens the specified entry file in the text editor defined by the EDITOR environment variable (defaults to vi if not set).

Validating an Entry

$ jot validate file 001-system-update.md

Checks if the specified entry file has a valid format, including a title and correctly formatted date.

Developing

To contribute to the development of jot, follow these steps:

$ git clone https://github.com/walker84837/jot-rs.git
$ cd jot
$ cargo build

You can then modify the code and build it again to test your changes.

Contributing

We welcome contributions to improve jot!

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature-branch-name.
  3. Make your changes and commit them: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature-branch-name.
  5. Open a pull request.

Please ensure your code is linted and tests pass before submitting your pull request.

Licensing

The code in this project is licensed under the BSD 3-Clause License. The logo is licensed under the CC BY-NC-SA 4.0.