Skip to main content

Notebook Navigator a keyboard first note tool

Project description

Notebook Navigator (noteagator)

Notebook Navigator (noteagator) helps you organize, browse, and print collections of plain Markdown notes.
It's built for zero lock-in and a keyboard-first workflow, letting you replace text, copy code, and navigate your notes entirely without the mouse.

install

# recommended
pipx install noteagator

# or with pip
pip install noteagator

Verify:

ngt --help

Debian Users Need xclip

Debian based Linux users will also need to install xclip to use code-copy feature.

sudo apt-get install xclip

Quick Start (2 minutes)

  1. Open your notebook directory in an editor

     code -n "$(ngt show-base)"
    
  2. Create a note (any .md file under your notebook base)

     ---
     description: This is an example note
     placeholders:
         i: foo
     format: slim
     ---
     My Command
     ```
     echo 'foo'
     ```
    
  3. List Notes

     $ ngt ls
     Notebook Directory: /
     1 📄 example.md  - This is an example note
    
  4. Print with replacement and copy code Replace placeholder i with bar and copy the first code block to your clipboard:

     $ ngt print 1 -i 'bar' -c 1
     description: This is an example note
     format: slim
     note: /home/user/.noteagator/notebook/example.md
     placeholders:
     i: foo
     ---
     My Command
     --copy 1 $ echo 'bar'
    

    Your clipboard now contains:

     echo 'bar'
    

Core Concepts

  • Notebook Base - The root directory Noteagator treats as your notebook.
    Set it:

      ngt set-base /path/to/your/notebook
    

    Show it:

      ngt show-base
    
  • Placeholders (YAML front matter) - Declare keys you can swap at print time:
    Run ngt print --help for a list of valid placeholders keys.

      ---
      placeholders:
        i: foo
        d: world
      ---
    

    Then:

      ngt print 3 -i 'bar' -j 'team'
    
  • Formats
    ngt print can render "slim" (great for large notes) or "markdown".

      ngt print 2 --format markdown
    
  • Copy-Code
    -c N copies the Nth fenced code block from the printed note to your clipboard, no mouse needed.

Common Commands (Cheat Sheet)

# set / view notebook
ngt set-base /path/to/notebook
ngt show-base

# explore
ngt ls            # list notes in current directory
ngt ls -R         # list recursively
ngt search netcat # Search Notes for netcat

# print & replace
ngt print 7             # print note #7
ngt print 7 -i value    # replace placeholder 'i'
ngt print 7 -i one -j two --format markdown

# copy code
ngt print 7 -c 1        # copy first code block to clipboard

User Guide

This repo includes a full user guide you can use as your notebook while learning.

$ ngt set-base noteagator/noteagator_user_guide 
$ ngt ls -R                                    
Notebook Directory: /
  1 📁 navigation
    2 📄 1.base.md  - How to define your notebook
    3 📄 2.edit.md  - How to create/edit notes
    4 📄 3.ls.md  - How to list notes
    5 📄 4.cd.md  - How to change directories in a notebook.
  6 📁 printing_notes
    7 📄 1.print.md  - How to print notes
    8 📄 2.copy.md  - How to copy code snipts
    9 📄 3.replace.md  - How to replace placeholders
    10 📄 4.format.md  - How to control print format
  11 📁 yaml_front_matter
    12 📄 description.md  - How to add descriptions to notes
    13 📄 format.md  - How to define note format
    14 📄 placeholders.md  - How to use placeholders in notes

Troubleshooting

  • "No Notes Found"
    Make sure your notebook base is set to a directory that actually contains .md files:

      ngt show-base
      ngt set-base /correct/path
    
  • Clipboard didn't change with -c
    Re-run with -c 1 and confirm the printed note actually has a fenced code block. (If your OS needs clipboard tooling, install one: xclip/xsel on some Linux setups.)

  • Placeholders not replaced Ensure your front matter has a placeholders: map and the key you're passing (like -i) exists.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noteagator-0.1.3.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

noteagator-0.1.3-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file noteagator-0.1.3.tar.gz.

File metadata

  • Download URL: noteagator-0.1.3.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.1

File hashes

Hashes for noteagator-0.1.3.tar.gz
Algorithm Hash digest
SHA256 167b75b243d3bdb2388c9fb1a04b8000838addcaacb530647f021031909958ab
MD5 dedbe6c67943d90aadae110d48ac6da6
BLAKE2b-256 51675a4fee8b3dcc097373bc711adfd9f4750c4ec946a3ea20801581a037bd32

See more details on using hashes here.

File details

Details for the file noteagator-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: noteagator-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.1

File hashes

Hashes for noteagator-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b8354cd36d571510dcc7edb5b0b58765645e4b2c6eb77db2e57efed10b406fe3
MD5 7931e34d9e1ffa33c68227bf86f7d582
BLAKE2b-256 e871684215b163c9d83ba16601b9f215b1f1ea37ecd1ce2caac85839b2e2a6a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page