npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

zoottelkeeper

v1.1.3

Published

ZoottelKeeper: A Zookeeper for your Zettelkasten folder

Downloads

17

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 subfolders

After 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_<folder>.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=./../<relative path to your Zettelkasten folder>

    (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