Skip to content

CLI and library for interacting with Johnny.Decimal systems.

License

Notifications You must be signed in to change notification settings

donovanglover/jd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

203 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jd

CLI and library for interacting with Johnny.Decimal systems.

Features

  • Automatically rename IDs on area/category changes.
  • Non-destructive.
    • Your files are never deleted, only trashed.
    • Your files are never overwritten. New folders are only created if they don't exist already.
  • Use your favorite note editor.
    • TODO: Support for building indexes from a custom ruleset? Make no assumptions and let user manually create rules? Have a set of predefined rules?

Installation

NixOS (Recommended)

Add jd to your systemPackages and rebuild.

{ pkgs, ... }:

{
  environment.systemPackages = with pkgs; [
    jd
  ];
}

Alternatively, use nix run nixpkgs#jd to try jd without installing it.

Other distributions

Follow the install guide for Rust. Then, use cargo to install jd.

git clone https://github.com/donovanglover/jd && cd jd && cargo install --path jd

Usage

Usage: jd [OPTIONS] [COMMAND]

Commands:
  add     Add a new area, category, or id
  remove  Remove an existing area, category, or id
  index   List the contents of an area, category, or id
  insert  Insert a new area, category, or id, moving existing ones
  clean   Checks for empty folders and missing areas/categories/ids (Prune/Clean)
  serve   Start a new web server
  help    Print this message or the help of the given subcommand(s)

Options:
  -d, --dir <DIR>  Directory where areas are stored [default: $HOME]
  -v, --verbose    Print debugging information
  -h, --help       Print help (see more with '--help')
  -V, --version    Print version

Contributing

Contributions are welcome. Make new issues if you have feature requests for the library or CLI.

Todo

  • jd add: Adds a new area/category/id to the index
  • jd rm: Removes an existing area/category/id from the index
  • jd mv/move: Move an area/category and rename all child IDs
  • jd index: pretty print index
  • Fish completions for jd directories
  • server for index notes / browse johnny decimal system remotely
  • validate johnny decimal systems to ensure that regular files aren't stored outside of ids
  • program a way to guarantee the positioning of comments?
  • support for dmenu?
  • jd serve to serve a note or directory for a specific id?

About

CLI and library for interacting with Johnny.Decimal systems.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages