diff options
author | flow.gunso <flow.gunso@gmail.com> | 2020-05-15 22:17:48 +0200 |
---|---|---|
committer | flow.gunso <flow.gunso@gmail.com> | 2020-05-15 22:17:48 +0200 |
commit | 8f6202deb0cbf58dd18bf0523c81fd24851e3b6c (patch) | |
tree | 7b76693be8424b26337e75c07e713ca21c091c04 | |
parent | cf01113cad2fc772113b5d1b7cd5be5e712ae0eb (diff) | |
download | Shaarli-8f6202deb0cbf58dd18bf0523c81fd24851e3b6c.tar.gz Shaarli-8f6202deb0cbf58dd18bf0523c81fd24851e3b6c.tar.zst Shaarli-8f6202deb0cbf58dd18bf0523c81fd24851e3b6c.zip |
Document about the .meta file at the plugin creation/initialization
-rw-r--r-- | doc/md/Plugin-System.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/doc/md/Plugin-System.md b/doc/md/Plugin-System.md index 9b0d3a7d..7a5ba23d 100644 --- a/doc/md/Plugin-System.md +++ b/doc/md/Plugin-System.md | |||
@@ -18,7 +18,7 @@ The plugin system let you: | |||
18 | 18 | ||
19 | First, chose a plugin name, such as `demo_plugin`. | 19 | First, chose a plugin name, such as `demo_plugin`. |
20 | 20 | ||
21 | Under `plugin` folder, create a folder named with your plugin name. Then create a <plugin_name>.php file in that folder. | 21 | Under `plugin` folder, create a folder named with your plugin name. Then create a <plugin_name>.meta file and a <plugin_name>.php file in that folder. |
22 | 22 | ||
23 | You should have the following tree view: | 23 | You should have the following tree view: |
24 | 24 | ||
@@ -26,17 +26,20 @@ You should have the following tree view: | |||
26 | | index.php | 26 | | index.php |
27 | | plugins/ | 27 | | plugins/ |
28 | |---| demo_plugin/ | 28 | |---| demo_plugin/ |
29 | | |---| demo_plugin.meta | ||
29 | | |---| demo_plugin.php | 30 | | |---| demo_plugin.php |
30 | ``` | 31 | ``` |
31 | 32 | ||
32 | ### Plugin initialization | 33 | ### Plugin initialization |
33 | 34 | ||
34 | At the beginning of Shaarli execution, all enabled plugins are loaded. At this point, the plugin system looks for an `init()` function to execute and run it if it exists. This function must be named this way, and takes the `ConfigManager` as parameter. | 35 | At the beginning of Shaarli execution, all enabled plugins are loaded. At this point, the plugin system looks for an `init()` function in the <plugin_name>.php to execute and run it if it exists. This function must be named this way, and takes the `ConfigManager` as parameter. |
35 | 36 | ||
36 | <plugin_name>_init($conf) | 37 | <plugin_name>_init($conf) |
37 | 38 | ||
38 | This function can be used to create initial data, load default settings, etc. But also to set *plugin errors*. If the initialization function returns an array of strings, they will be understand as errors, and displayed in the header to logged in users. | 39 | This function can be used to create initial data, load default settings, etc. But also to set *plugin errors*. If the initialization function returns an array of strings, they will be understand as errors, and displayed in the header to logged in users. |
39 | 40 | ||
41 | The plugin system also looks for a `description` variable in the <plugin_name>.meta file, to be displayed in the plugin administration page. | ||
42 | |||
40 | ### Understanding hooks | 43 | ### Understanding hooks |
41 | 44 | ||
42 | A plugin is a set of functions. Each function will be triggered by the plugin system at certain point in Shaarli execution. | 45 | A plugin is a set of functions. Each function will be triggered by the plugin system at certain point in Shaarli execution. |