update README.md
This commit is contained in:
parent
1b7003d486
commit
95449e548f
52
README.md
52
README.md
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user