org-roam-publish
Table of Contents
Publishing name : Undecided
1. Abstract
- an emacs independent knowledge-graph processor and visualizer for org-files.
- to be built in rust with wasm as compilation target for the web application.
2. Pragmatics
2.1. Org roam db
- all the data is indexed in a single sqlitedb file stored in .emacs.d as org-roam.db : checkout https://sqlitebrowser.org/dl/ for a convenient GUI
- any language that you decide to use must pickup elements and draw them (links, tags, nodes, file pointers, etc) from this db
- any continuous integration action will need access to this db in the repository : size shouldn't be an issue anytime in the future
- with 322 nodes in 256 files and 814 links, its sized at around 514 KB as of now.
- won't be needing git LFS but should still look into it.
2.2. Content
- this is where the actual content lies (in org files)
- will need to convert these to static pages using org-export
2.3. Inputs
- will need to take in the root directory where all the org files are hosted and use a substitute when picking up files from the org-roam db
3. Tooling
- considering proceeding with python to produce the actual site.
- https://github.com/plotly/dash-cytoscape
- with the inbuilt sqlite
- given that tooling might already exist to plot Neo4j databases, consider porting the sqlite db to neo4j and using existing utilties.
- checkout : https://www.fullstackpython.com/neo4j.html
- I was looking into SurrealDB the other day and feel like I should consider a complete re-write of the database endpoint of the org-roam package and replace the currently used embedded sqlite db.
- checkout Surreal-Org-Roam