update commit prev
This commit is contained in:
+19
-7
@@ -1,14 +1,28 @@
|
||||
# External Plugins
|
||||
# Plugins
|
||||
|
||||
Drop user plugins in this folder to make them available to the app without editing the built-in `Provider/` package.
|
||||
This folder is the primary home for bundled plugins and also the default search
|
||||
path for drop-in plugins.
|
||||
|
||||
Supported discovery paths:
|
||||
Preferred layout:
|
||||
- Put each plugin in its own folder under `plugins/<name>/` with an `__init__.py`.
|
||||
- Keep plugin-specific assets beside the code in that same folder.
|
||||
- Single-file `.py` plugins are still supported, but package folders are the
|
||||
recommended plug-and-play format.
|
||||
|
||||
That means a plugin can ship as a drag-and-drop folder with extras such as:
|
||||
- `cookies.txt`
|
||||
- templates or fixture files
|
||||
- helper modules
|
||||
- small static assets
|
||||
|
||||
Built-in bundled plugins use the same layout as external plugins. Additional
|
||||
drop-in plugin search paths are:
|
||||
- `plugins/` in the repo root
|
||||
- `plugins/` in the current working directory
|
||||
- Any directory listed in `MM_PLUGIN_PATH`
|
||||
- Any directory listed in `MEDEIA_PLUGIN_PATH`
|
||||
|
||||
Plugin module rules:
|
||||
Plugin rules:
|
||||
- A plugin can be a single `.py` file or a package directory with `__init__.py`.
|
||||
- Define a class that inherits from `ProviderCore.base.Provider`.
|
||||
- Give it a stable name using `PLUGIN_NAME` or the class name.
|
||||
@@ -34,6 +48,4 @@ class MyPlugin(Provider):
|
||||
path=f"https://example.com/{text}",
|
||||
)
|
||||
]
|
||||
```
|
||||
|
||||
Built-in plugins still live in `Provider/`.
|
||||
```
|
||||
Reference in New Issue
Block a user