update README.md

This commit is contained in:
Cordelya Sharpe 2023-12-21 14:54:35 -05:00
parent 1b7003d486
commit 95449e548f

View File

@ -1,40 +1,40 @@
# next-jd
# johnny decimal
Get the next available ID number for your [Johnny Decimal](https://johnnydecimal.com/) system and add your new item to the Index at the same time
Scripts related to creating or maintaining a [Johnny Decimal](https://johnnydecimal.com/) system
## Wishlist
## Ideas
That which has not yet come to be.
- 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
### Scripting Languages
## Existing Tools
Because choices are good
### build-index.sh
* A shell script
* A Python script
This script loops over your index directory system and builds a set of markdown files - one for each area.
### Functionalities
The markdown files are formatted such that they can be directly dumped into a Hugo (or other SSG) instance
#### What do we want it to do?
- 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!
1. Ask the user to select the Area and Category.
1. Offer the user a list of current Areas/Categories to select by number
1. If a selected slot is labeled `[unused]`, ask the user to supply a name and update the Index
2. Ask the user to name the new ID
3. Give the user their new ID complete with name for easy copy/paste
4. Update the relevant files
5. If the user is using a previously unused slot, move the directory to match (ask first?)
6. Read in an `options.yaml` file to allow the user to set their own defaults for things (never, always, ask each time)
This script assumes that it lives inside a 00.xx directory. In other words, it's expecting to live at someplace like:
#### How do we want to store the data?
* Store the data in JSON; Generate a new Index each time, or don't, and let the user manually update the Index; offer the option
* This option would allow a local JS-flavored web view of the Index
* Store the data in the text Index; update the Index whenever a new ID is generated; can break the script if the Index format gets screwed up
* Store the data in a database; this is most likely overkill
```
├── 00-09 Index
│   ├── 00 Index
│   │   ├── 00.00 System
│   │   ├── 00.01 Index
│   │   └── 00.02 Index Scripts
│   │   └── 00.02-build-index.sh
```
## "Done" List
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.
That which has been completed
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.
There is nothing here right now. You may contribute if you wish. Merge requests are welcomed.
===
You may contribute if you wish. Merge requests are welcomed. Don't be a jerk, &c &c.