This zettelkasten has a focus towards academic research, so there is a special utility for managing resources called bib.

This will go over how to manage bib.

Generally speaking, references are managed in a SQLite table, with fields matching ones you'd commonly find in a bibtex file. The idea behind this is you could use this interface to then generate bibtex to use in papers.

As of writing, the way I've been importing stuff into this database has been a very sloppy process involving a Janet script called bib.janet. This has a function called sqlizewhich is used to generate a SQLite INSERT statement. My process right now involves finding a bibtex entry, pasting it into the file, and then manually converting all the fields to be a janet table.

Running the program with vanilla Janet writes SQLite code to standard output, which can then be used with the sqlite3 CLI like so:

janet bib.janet | sqlite3 a.db

This zet also has a table that manages links between references (via their unique keyword), and the UUIDs as they exist in the crate.