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:

PermissionMeaning
uiRegister commands, views, status-bar items
readRead the current document
writeModify the current document
fsRead/write files outside the workspace (rare)
netNetwork access
shellRun 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