Castopod Plugins
This content is not available in your language yet.
Plugins are ways to extend Castopod’s core features.
Plugin folder structure
Directoryhello-world
Directoryi18n
- en.json
- fr.json
- …
- icon.svg
- manifest.json // required
- LICENSE.md
- Plugin.php // required
- README.md
Plugins reside in the plugins/
directory under a vendor/
folder, ie. the
organisation or person who authored the plugin.
Directoryplugins
Directoryacme
Directoryhello-world/
- …
- …
Directoryatlantis/
- …
Plugin manifest (required)
The plugin manifest is a JSON file containing the plugin’s metadata and declarations.
This file will determine whether a plugin is valid or not. The minimal required data being:
Checkout the manifest.json reference.
Plugin class (required)
This is where the plugin’s logic lives.
The Plugin class extends Castopod’s BasePlugin class and implements one or more Hooks (methods) intended to be run throughout Castopod’s codebase.
Plugin README
The README.md
file is loaded into the plugin’s view page for the user to read
through.
It should be used for any additional information to help guide the user in using
the plugin.
Plugin LICENSE
In addition to specifying the license in the manifest, you
may add a LICENSE.md
file. Just as the README.md
file, its contents will be
loaded into the plugin’s view page for the user to read.
Plugin icon
The plugin icon is displayed next to its title, it is an SVG file intended to give a graphical representation of the plugin.
The icon should be squared, and be legible in a 64px by 64px circle.
Internationalization (i18n)
Plugins can be translated. Translation strings live inside the i18n
folder.
Translation files are JSON files named as locale keys:
Directoryi18n
- en.json // default locale
- fr.json
- de.json
- …
Supported locales are:
br
,ca
,de
,en
,es
,fr
,nn-no
,pl
,pt-br
,sr-latn
,zh-hans
.
The translation strings allow you to translate the title, description and settings keys (ie. labels, hints, helpers, etc.).