Scripts related to creating and maintaining a Johnny Decimal system
Go to file
Cordelya Sharpe e591eaef41 Merge branch 'main' into 'main'
Rewrite as POSIX shell

See merge request cordelya/johnny-decimal!1
2024-01-16 22:19:36 +00:00
build-index.sh rewrote to use POSIX shell features 2024-01-16 15:07:32 -07:00
CHANGELOG rewrote to use POSIX shell features 2024-01-16 15:07:32 -07:00
CONTRIBUTING.md Add CONTRIBUTING 2023-12-17 19:47:23 +00:00
LICENSE Add LICENSE 2023-12-17 19:44:47 +00:00
README.md update README.md 2023-12-21 14:54:35 -05:00

johnny decimal

Scripts related to creating or maintaining a Johnny Decimal system

Ideas

  • A Very Fancy script that determines the next available ID number based on supplied category and adds your new item to the Index at the same time

Existing Tools

build-index.sh

This script loops over your index directory system and builds a set of markdown files - one for each area.

The markdown files are formatted such that they can be directly dumped into a Hugo (or other SSG) instance

  • so you can publish your index on a static Pages host
    • so you can then determine the next ID number even when your filing system isn't accessible.

Setting your Pages site as "not public" is probably wise - don't give away OSINT for free!

This script assumes that it lives inside a 00.xx directory. In other words, it's expecting to live at someplace like:

├── 00-09 Index
│   ├── 00 Index
│   │   ├── 00.00 System
│   │   ├── 00.01 Index
│   │   └── 00.02 Index Scripts
│   │  	    └── 00.02-build-index.sh

It should work as long as it lives three directories deep below the directory containing 00-09 Index et seq., because it first asks "where do I live" and then "what's the absolute path of the directory three levels up from where I live?" So, it shouldn't matter which ID it's filed under.

The script is set to ignore a directory named "System Volume Information" - an immediate solution to an immediate problem. A stretch goal is to change the script to only work with directories that match the naming convention patterns for each level. I did not have sufficient focus to be writing regex patterns when I initially wrote this script.

===

You may contribute if you wish. Merge requests are welcomed. Don't be a jerk, &c &c.