feat: Add Plugin Button Registration API documentation and Plugin System implementation summary
- Introduced PLUGIN_BUTTON_API.md detailing button registration, UI locations, and usage examples. - Added PLUGIN_SYSTEM_IMPLEMENTATION.md summarizing implemented features, usage examples, and API details for the plugin system.
This commit is contained in:
47
README.md
47
README.md
@@ -29,3 +29,50 @@ To build the app locally, run:
|
||||
|
||||
To start local dev server, run:
|
||||
* `npm run dev`
|
||||
|
||||
## Plugin System
|
||||
|
||||
Paarrot includes a plugin system for extending and customising the app with JavaScript modules.
|
||||
|
||||
### Installing Plugins
|
||||
|
||||
1. Drop a plugin folder into your plugins directory:
|
||||
- **Windows**: `%APPDATA%\paarrot\plugins\<plugin-name>\`
|
||||
- **Linux**: `~/.config/Paarrot/plugins/<plugin-name>/`
|
||||
- **macOS**: `~/Library/Application Support/Paarrot/plugins/<plugin-name>/`
|
||||
2. Enable it in **Settings → Plugins → Installed**
|
||||
|
||||
### What Plugins Can Do
|
||||
|
||||
- Register custom slash commands
|
||||
- Intercept and modify messages
|
||||
- Inject buttons into 11 UI locations (nav lists, toolbars, headers, sidebar, menus)
|
||||
- Register custom themes
|
||||
- Hook into raw Matrix events
|
||||
- Run background tasks
|
||||
- Show system notifications
|
||||
|
||||
### Plugin Locations (UI Buttons)
|
||||
|
||||
Plugins can inject buttons as **nav list rows** or **icon buttons** across the app:
|
||||
|
||||
| Location | Style | Where |
|
||||
|---|---|---|
|
||||
| `channel-list` | Nav row | Space channel list |
|
||||
| `home-section` | Nav row | Home panel, above room list |
|
||||
| `direct-messages` | Nav row | DMs panel, below "Create Chat" |
|
||||
| `sidebar-actions` | Icon | Left sidebar — above Explore and above Search |
|
||||
| `text-composer-toolbar` | Icon | Message composer toolbar |
|
||||
| `composer-actions` | Icon | Beside the `+` attach button |
|
||||
| `room-header` | Icon | Room header bar |
|
||||
| `room-menu` | Icon | Room ⋮ dropdown |
|
||||
| `message-actions` | Icon | Message hover bar |
|
||||
| `user-menu` | Icon | Right-click on user avatar |
|
||||
| `search-notification-section` | Icon | Notifications page header |
|
||||
|
||||
### Documentation
|
||||
|
||||
- [Plugin System Overview](PLUGINS.md)
|
||||
- [Full Plugin API Reference](docs/PLUGIN_API.md)
|
||||
- [Button Registration API](docs/PLUGIN_BUTTON_API.md)
|
||||
- [Example Plugins](plugins/)
|
||||
|
||||
Reference in New Issue
Block a user