1.1 KiB
1.1 KiB
#development
This page describes the big-picture view of SilverBullet, assembled from its #Components. Each component has its own page describing how it relates to the others, the diagram below is generated on-the-fly from the meta data in those pages.
Top-level Architecture
${mermaid.diagram(mermaid.relationGraph{ pages = queryfrom index.pages("component"), relations = {"connectsTo", "consumes"}, groupBy = "partOf", direction = "TB" })}
The three layers
- Architecture/Client: one instance per browser tab; runs 90%+ of the logic (Architecture/Editor, Architecture/Space Lua, Architecture/Plugs, Architecture/Syscalls, Architecture/Datastore).
- Architecture/Service Worker: one instance per browser; offline cache + Sync.
- Architecture/Server: — authentication, serving the client, and the file HTTP API, otherwise a dumb file store.
Components
Every box in the diagram is a page tagged component:
${query[[ from p = index.pages("component") order by p.name select templates.pageItem(p) ]]}