Home

Awesome

🌱 Rucola

<img alt="github" src="https://img.shields.io/badge/github-Linus--Mussmaecher/rucola-8da0cb?style=for-the-badge&labelColor=555555&color=8da0cb&logo=github"> License: GPL v3 <img alt="rust" src="https://img.shields.io/badge/Rust-2021_Edition-ed9974?labelColor=555555&logo=rust&style=for-the-badge">

<img alt="commit status" src="https://img.shields.io/github/commit-activity/m/Linus-Mussmaecher/rucola?labelColor=555555&color=66c2a5&style=for-the-badge"> <img alt="test status" src="https://img.shields.io/github/actions/workflow/status/Linus-Mussmaecher/rucola/continuous-testing.yml?label=tests&branch=main&labelColor=555555&style=for-the-badge"> <img alt="cratesio" src="https://img.shields.io/crates/v/rucola-notes.svg?labelColor=555555&color=417a5a&logo=linux-containers&style=for-the-badge"> <img alt="arch-user-repository" src="https://img.shields.io/archlinux/v/extra/x86_64/rucola.svg?labelColor=555555&color=1793d1&logo=arch-linux&style=for-the-badge">

Terminal-based markdown note manager to view statistics, explore connections and launch editing and viewing applications.

Contents

Features

Images

In the select & overview screen:

select-screen

Viewing a single note:

display-screen

A default light theme is also included.

[!TIP] Default themes will adjust to your terminal colors, but the entire style can be fully customized.

Target Audience and Similar Programs

Rucolas is made for users of a zettelkasten-style note system of interlinked markdown notes that want to do most of their note taking directly from within the terminal.

Compared to UI-note taking tools such as Obsidian, Evernote or Notion ...

Compared to using only a terminal text editor (such as vim, emacs or helix) to manage markdown notes ...

[!TIP] Most text editors or terminal emulators provide some way to open a file in an already running instance - open rucola and your favourite editor next to one another and use rucola like a more note-specific file picker.

Future Features

The current version supports all features originally envisioned for this project and has been tested in daily use for some months. This does not mean that development is finished. Future plans include:

Installation

Rucola has no requirements, but a Nerd font may be required on your machine to display some of the icons properly.

Installation Scripts & Tarballs

For installation instructions via shell script, .msi, homebrew or tarball, see the latest release. These installers are generated using cargo dist and are provided for Windows, Mac and Linux.

Arch Linux

You can install rucola from the official repositories using pacman:

pacman -S rucola

Crates.io

Install using cargo from crates.io:

 cargo install --locked rucola-notes

Manual Build

If you want to build the latest commit of rucola by yourself, you can clone the repository, build & install:

 git clone https://github.com/Linus-Mussmaecher/rucola
 cd rucola
 cargo install --locked --path .

Usage

Rucola can be launched from your command line with the rucola command.

[!TIP] For more information on possible configuration options, features and usage tips, see the GitHub Wiki.

Configuration

Rucola requires three configuation files:

One default config file, 2 TOML style files (light & dark theme) and 2 CSS style files (light & dark theme) can be found in this repository's default_config folder. These files should be installed on your system by any install method into rucola's default config folder. See the Wiki for that folders expected location.

Technology

Rucola is implemented using the ratatui framework in Rust. Markdown parsing is done via comrak.

LaTeX compilation & macro system is facilitated by KaTeX while code highlighting is done with highlight.js.

License

Rucola is released under the GNU General Public License v3.

Copyright (C) 2024 Linus Mußmächer linus.mussmaecher@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.