Plugins overview
How the Novelist plugin system works.
The Novelist plugin system lets you add new capabilities to the editor without touching the core.
Installing
Open Settings → Plugins inside Novelist, or browse every available plugin on the plugin marketplace.
Each plugin:
- declares the permissions it needs;
- ships from a public GitHub repository — the source is auditable;
- can be disabled or uninstalled at any time.
Click Browse plugins, or hit Install in Novelist on any plugin detail page. The button uses the novelist://install-plugin/<id> deep link to hand the request to the app itself.
What plugins can do
A plugin can:
- register a command (it shows up in the command palette and can be bound to a shortcut);
- add views in the sidebar or the status bar;
- act on lifecycle events (save, open, export);
- register export backends (e.g. a custom PDF template);
- provide themes;
- provide syntax extensions (e.g. a new fenced code block renderer).
Permissions
To keep things transparent, Novelist describes what a plugin needs through explicit permissions:
| Permission | Meaning |
|---|---|
ui | Register commands, views, status-bar items |
read | Read the current document |
write | Modify the current document |
fs | Read/write files outside the workspace (rare) |
net | Network access |
shell | Run external commands |
A plugin has to declare its permissions in manifest.toml. The app shows them to the user before installing.
Next
- Plugin API — register commands, read and write documents, hook into events
- Submitting a plugin — how to publish to the official marketplace