Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustNote

A modern terminal-based note-taking app written in Rust.

RustNote is a Rust rewrite of note — a Go-based terminal note-taking app built with Bubble Tea. It is a TUI (Terminal User Interface) application for managing markdown notes with folder organization, live preview rendering, and multiple independent note collections.

Features

  • Markdown notes with live preview rendering
  • Folder-based organization with expandable tree view
  • Multiple NoteSets — switch between independent note collections
  • Configurable editor (respects $NOTE_EDITOR, $VISUAL, $EDITOR, falls back to vi/ed)
  • XDG Base Directory compliant (config at ~/.config/rustnote/, data at ~/.local/share/rustnote/)
  • Archive system per noteSet
  • Permanent delete with confirmation
  • Vim-style keybindings (j/k/h/l)
  • Responsive layout with toggleable sidebar
  • YAML configuration with full customization

Installation

From source:

cd RustNote
cargo build --release

The compiled binary will be available at target/release/rustnote.

Quick Start

Run rustnote to launch the application. On first run, it automatically creates the config directory and notes directory.

  • Press n to create a new note
  • Press Enter on a note file to open it in your configured editor
  • Press q to quit

Keybindings

Key Action
j / k or Up / Down Navigate notes in the sidebar
l or Right Expand folder
h or Left Collapse folder or navigate to parent folder
Enter Edit note (on file) or rename folder (on folder)
n Create new note
N Create new folder
Tab Toggle sidebar visibility
Backspace Archive current note or folder
d Delete current note or folder (with confirmation)
[ / ] Switch between NoteSets (only shown when multiple configured)
PageUp / PageDown Scroll content preview
Mouse scroll wheel Scroll content preview
q or Ctrl+c Quit

Configuration

Configuration is stored in ~/.config/rustnote/config.yaml. The file is auto-generated on first run.

Print your current config:

rustnote --config

Environment Variables

RustNote respects these environment variables for editor configuration:

  • NOTE_EDITOR: Primary editor preference (checked first)
  • VISUAL: Secondary editor preference (checked if NOTE_EDITOR is not set)
  • EDITOR: Tertiary editor preference (checked if VISUAL is not set)

XDG Directories

RustNote follows the XDG Base Directory specification:

  • Config: ~/.config/rustnote/ (respects XDG_CONFIG_HOME)
  • Data: ~/.local/share/rustnote/ (respects XDG_DATA_HOME)

Configuration File

The config file includes options for layout, theme, editor, and note sets. See the Handbook for detailed configuration reference.

Acknowledgements

RustNote is a Rust rewrite of note by armandsauzay.

License

MIT

About

用Rust重写了一个Go项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages