# johnny decimal Scripts related to creating or maintaining a [Johnny Decimal](https://johnnydecimal.com/) 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.