Skip to content

aaravmaloo/blob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blob: minimal note manager

Demo

blob is a minimalistic and efficient inline terminal note manager that stays out of your way. It is programmed in C and keeps the interface small, fast, and terminal-native.

Features

  • inline interactive note selector
  • markdown note creation
  • live note search
  • rename, trash, restore, and hard delete flows
  • interactive trash bin viewer (t) — browse, restore, or purge trashed notes
  • command palette for core actions and installed plugins
  • relative timestamps and pagination
  • safer plugin installs with API, mode, and permission metadata
  • customizability

Customizing blob

In the future, blob will support themes. For now, you can configure the editor that blob will use to edit the notes. This can be set via the EDITOR environment variable, and will force blob to use that editor.

Installation

blob can be installed via yay, winget, github releases, or can be compiled from scratch.

To install it using yay (arch linux), use the following command. yay -S blob-bin and you will be good to go!

To install it using winget run the following command. winget install aaravmaloo.blob and you will be good to go!

To compile from scratch, use the following steps. clone:

git clone https://github.com/aaravmaloo/blob

change dir:

cd blob

compile:

make

Or for an optimized release build:

make release

Note: On Windows, you may need to use mingw32-make instead of make depending on your environment.

Keybindings

Key Action
↑/↓ Navigate notes
Enter Open note
n Create note
r Rename note
d Move note to trash
D Permanently delete note
t Open trash bin (restore or permanently delete trashed notes)
y Copy note path
/ Search notes
: Open command palette
p Open plugins manager
Esc Clear search
q Quit

Plugins

blob supports optional, compiled plugins to extend its features (like encryption or sync) without bloating the core. Press p inside the interface to manage plugins. For every step/access blob does, it requires your permission for maximum safety.

Plugins declare an API version, run mode, and permissions in their README manifest. blob warns about legacy plugins, keybind conflicts, and plugins that require a newer API.

Built-in plugins

Plugin Key What it does
lock Encrypt/decrypt notes with a password
stats s Show character, word, and line counts
archive a Move notes to an archive folder
git-sync g Commit and push notes to a git repo
pin i Pin/unpin notes (floated to top with prefix)
fuzzy-search f Fuzzy search across note titles and content
tags z Read, add, and clear tags metadata
word-count w Words, chars, lines, sentences, reading time
open-dir o Open the note's folder in your file explorer
export e Export to HTML, PDF, or DOCX via pandoc
remind m Set a timed system notification for a note

If you are a developer and want to create your own plugin, see PLUGIN_DEVELOPMENT.md.

Storage

blob stores notes in:

Linux:

~/.local/share/blob/notes

macOS:

~/Library/Application Support/blob/notes

Windows:

%LOCALAPPDATA%\blob\notes

Philosophy

blob is designed to be:

  • minimal
  • keyboard-driven
  • fast
  • dependency-free
  • an inline selector, not a fullscreen TUI

About

a minimal note manager that stays out of your way.

Resources

License

Stars

7 stars

Watchers

0 watching

Forks

Contributors