nb
is a command line and local web
note‑taking, bookmarking, archiving,
and knowledge base application
with:
and more, in a single portable script.
nb
creates notes in text-based formats like
Markdown,
Org,
LaTeX,
and AsciiDoc,
can work with files in any format,
can import and export notes to many document formats,
and can create private, password-protected encrypted notes and bookmarks.
With nb
, you can write notes using
Vim,
Emacs,
VS Code,
Sublime Text,
and any other text editor you like,
as well as terminal and GUI web browsers.
nb
works in any standard Linux / Unix environment,
including macOS and Windows via WSL, MSYS, and Cygwin.
Optional dependencies can be installed to enhance functionality,
but nb
works great without them.
nb
is also a powerful bookmarking system featuring:
nb
features.Page information is downloaded, cleaned up, structured, and saved into normal Markdown documents made for humans, so bookmarks are easy to view and edit just like any other note.
<div align="center"> <img src="https://xwmx.github.io/misc/nb/images/gui-terminal-browse.png" alt="nb browse" width="500"> </div>nb
uses Git in the background to
automatically record changes and sync notebooks with remote repositories.
nb
can also be configured to
sync notebooks using a general purpose syncing utility like Dropbox
so notes can be edited in other apps on any device.
nb
is designed to be portable, future-focused, and vendor independent,
providing a full-featured and intuitive experience within
a highly composable multimodal user-centric text interface.
The entire program is contained within
a single well-tested shell script
that can be
installed, copied, or curl
ed almost anywhere and just work,
using a strategy inspired by
progressive enhancement
for various experience improvements in more capable environments.
nb
works great whether you have one notebook with just a few notes
or dozens of notebooks containing thousands of notes, bookmarks, and other items.
nb
makes it easy to incorporate other tools, writing apps, and workflows.
nb
can be used a little, a lot, once in a while, or for just a subset of features.
nb
is flexible.
nb
works perfectly with Zsh, fish, and any other shell
set as your primary login shell,
the system just needs to have Bash available on it.nb
leverages standard command line tools
and works in standard Linux / Unix environments.
nb
also checks the environment for some additional optional tools and
uses them to enhance the experience whenever they are available.
Recommended:
Also supported for various enhancements:
Ack,
afplay
,
asciidoctor
,
The Silver Searcher (ag
),
catimg
,
Chafa,
Chromium / Chrome,
eza
,
ffplay
,
ImageMagick,
glow
,
GnuPG,
highlight
,
imgcat
,
joshuto
,
kitty's icat
kitten,
lsd
,
Links,
Lynx,
mdcat
,
mdless
,
mdv
,
Midnight Commander (mc
),
mpg123
,
MPlayer,
ncat
,
netcat
,
note-link-janitor
(via plugin),
pdftotext
,
Pygments,
Ranger,
readability-cli,
rga
/ ripgrep-all,
sc-im
,
socat
,
termvisage
,
termpdf.py
,
Tidy-Viewer (tv
),
timg
,
vifm,
viu
,
VisiData
brew install xwmx/taps/nb
Installing nb
with Homebrew also installs
the recommended dependencies above
and completion scripts for Bash, Zsh, and Fish.
Install the latest development version from the repository with:
brew install xwmx/taps/nb --head
nb
is also available in
homebrew-core.
Installing it together with the bash
formula is recommended:
brew install nb bash