documentation adjustments

This commit is contained in:
Nystik
2026-04-09 01:03:38 +02:00
parent fade3c30c5
commit 1323c28c0c
2 changed files with 7 additions and 5 deletions

View File

@@ -24,7 +24,7 @@ The shim layer makes Obsidian think it's running in Electron. The bridge plugin
### Loading
The Obsidian index file is patched to run the shim loader first. It replaces the module system and makes a blocking HTTP request to fetch the vault's directory tree into memory. The request has to be blocking because Obsidian makes synchronous filesystem calls during page load, before the event loop is running, so the cache has to already be populated.
Obsidian's index file is intercepted during serving and the shim loader is loaded ahead of Obsidian's own scripts. It replaces the module system and makes a blocking HTTP request to fetch the vault's directory tree into memory. The request has to be blocking because Obsidian makes synchronous filesystem calls during page load, before the event loop is running, so the cache has to already be populated.
### Modules
@@ -49,7 +49,7 @@ Sync calls use synchronous XHR to ensure blocking behavior. Async calls use fetc
### IPC
IPC is faked with a synchronous dispatcher that maps channel names to handlers.
IPC is implemented as a synchronous dispatcher that maps channel names to handlers.
### Obsidian Plugin Compatibility
@@ -97,4 +97,4 @@ A basic plugin system for extending the server. Still early, the core lifecycle
An Ignis plugin is a Node.js package under `server/plugins/<name>/` that exports an id, name, and a `register` function. On load it receives a context object with access to config, the WebSocket server, a file watcher, an Express router, a logger, and a persistent data directory. Plugins are enabled and disabled per vault, with state persisted in `data/plugin-config.json`.
When enabled, a plugin's Express router is mounted at `/api/ext/<pluginId>/`. A plugin can also optionally bundle an Obsidian plugin, a directory containing a standard Obsidian plugin (manifest.json, main.js) that gets auto-installed into the vault on enable and removed on disable. This bridges the server and client sides: the Ignis plugin handles server logic and routes, while the bundled Obsidian plugin provides the in-app UI or behavior.
When enabled, a plugin's Express router is mounted at `/api/ext/<pluginId>/`. A plugin can also optionally bundle an Obsidian plugin, a directory containing a standard Obsidian plugin (manifest.json, main.js) that gets auto-installed into the vault on enable and removed on disable. This bridges the server and client sides: the Ignis plugin handles server logic and routes, while the bundled Obsidian plugin provides the in-app UI or behavior.