Write a script that takes the SQLite export from dentropys-obsidian-publisher and publishes each Node as an event
Learnings
Tags we use for our 308018 events
d
title
a, a link
a tag
308018:public_key:d-tag-title
e for mentions
e for fork
e for defer
summary, just a short string of what's up single tweet size
client (optional)
We do not need a nostr relay we needed NIP19 and NIP54
Using NIP54 we do not need to worry about creating a directory because linking via name of wiki page Obsidian style is supposed, and also makes federation interesting because you see what other people of the same topic generated
Using a separate private key for each document and directory is not needed for the changed scope of this project, NIP54 does version control on the level of the document. Sentence or Line level version control is a completely separate project that is far too complex to be working on right now.
Batching events and putting them on S3 to be loaded into a local relay would have required developing our own Nostr Client which we did not end up having to do because we discovered NIP54 was integrated in nostrudel, wikistr and wikifreedia with nostrudel being the one we actually like and use because you can modify your relay in the UI and it supports NIP19 addressing
We have a list of custom event type we were expecting to implement,
Custom Event Types
Directory
Contains documents and Directories
Document
Contains memes and Documents
Meme
It a version controlled string of text
The Document and Meme types were for line or sentence version control which we removed from the scope of this project for now because that would require a custom Nostr client be written
The functionality of the Directory Nostr event type can just be implemented with NIP54 events with Obsidian style links and we can later check if NIP19 links are supposed