https://github.com/akosbalasko/zoottelkeeper
Zookeeper for your Zettelkasten folder
https://github.com/akosbalasko/zoottelkeeper
Last synced: 5 months ago
JSON representation
Zookeeper for your Zettelkasten folder
- Host: GitHub
- URL: https://github.com/akosbalasko/zoottelkeeper
- Owner: akosbalasko
- Created: 2020-07-09T18:29:26.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-06T13:19:30.000Z (over 2 years ago)
- Last Synced: 2024-10-29T20:11:52.770Z (6 months ago)
- Language: TypeScript
- Size: 380 KB
- Stars: 34
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- jimsghstars - akosbalasko/zoottelkeeper - Zookeeper for your Zettelkasten folder (TypeScript)
README
# ZoottelKeeper: A Zookeeper for your Zettelkasten folder
## What?
The main idea of Zettelkasten is the links that connect your notes. However, if you would like to organize your notes to folders, you have to set up and maintain an index Markdown file for each folder that contains all of the notes of the folder as links (wikilinks, internal md links etc.).
Which means that if you move a file to an other folder, your have to remove its link from the index file of the source folder, and add a link to the index file of the target folder.If you are struggling with the same problems (like me), ZoottelKeeper is your program. It watches your folder, catches the changes and updates your index files within every folder and subfolders automatically.
## How does it work?
ZoottelKeeper watches the followings:- _Creation_ of files in rootFolder and any subfolders within
- _Deletion_ of files in rootFolder and any subfolders within
- _Move_ a file among rootFolder to subFolders
- _Move_ a file among subfoldersAfter recognizing that one of these actions happened, it creates an index file within the affected (sub)folder if it still does not exist.
Its name is going to be **000_Index_of_\.md**.
Then it writes the list of the files within that folder as wikistyled links.
## Example
Assume that we have a Zettelkasten folder with 2 subfolders `FolderA` and `FolderB`.
1. If I create a note called `fileA.md` in `FolderA` then ZoottelKeeper creates an index file within `FolderA` called **000_Index_of_FolderA.md** with content:
- **[[fileA]]**
- **[[000_Index_of_FolderA.md]]**2. If the file is being moved from `FolderA` to `FolderB`, **000_Index_of_FolderB.md** is going to be created in `FolderB` with content
- **[[fileA]]**
- **[[000_Index_of_FolderA.md]]**and the content the existing index file in `FolderA` is going to be updated by removing the link of `fileA`:
- **[[000_Index_of_FolderA.md]]**
3. If fileA is being deleted from `FolderB` then its link is going to be removed from **000_Index_of_FolderB.md**
## Tryout
If you don't want to try it out directly on your notes, just type `npm run start -- --rootFolder=./../testRootFolder` and check how it works with a test Folder.
## Usage
1. clone or download ZottelKeeper
2. install Node 10.18.1
3. install the dependencies by running `npm i` in the root folder
4. compile the code by `npm run build`
5. start it by `npm run start -- --rootFolder=./../`
(for instance, if you have a folder called `Notes` and you place `ZottelKeeper` as a subfolder of `Notes`, and your `Zettelkasten` is a subfolder in Notes as well, then your command should be `npm run start -- --rootFolder=./../../ZettelKasten`)## Stop
You can stop it by `npm run stop`