MyShaarli/doc/md/Plugins.md
nodiscc 91a21c2729 **General rewording, proof-reading, deduplication, shortening, reordering, simplification, cleanup/formatting/standardization**
- standardize page names, rework documentation structure, update TOC
- use same example paths everywhere
- level 1 titles on all pages
- fix broken links
- .md suffix on all page links (works both from readthedocs and github repository views)

**Server:**

A full and concise installation guide with examples is a frequent request. The documentation should provide such a guide for basic installation needs, while explaining alternative/advanced configuration at the end. Links to reference guides and documentation should be used more frequently to avoid recommending an outdated or excessively complex configuration.

- server: move most server-related info to server-configuration.md, cleanup/shorten
- server: update list of php dependencies/libraries, link to composer.json
- server: installation: support 3 install methods (from release zip, from sources, using docker)
- server: installation: use rsync instead of mv as mv results will change depending of taget directory already existing or not
- server: add example/basic usage of certbot
- server, upgrade, installation: update file permissions setup, use sudo for upgrade operations in webserver document root
- server: apache: add comments to configuration, fix and factorize file permissions setup, set cache-control header, deny access to dotfiles, add missing apache config steps, add http->https redirect example
- server: nginx: refactor nginx configuration, add comments, DO log access to denied/protected files
- server: add links to MDN for x-forwarded-* http headers explanation, cleanup/clarify robots.txt and crawlers section
- server: bump file upload size limit to 100MB we have reports of bookmark exports weighing +40MB - i have a 13MB one here
- server: simplify phpinfo documentation
- server: move backup and restore information to dedicated page
- docker: move all docker docs to Docker.md, simplify/ docker setup, add docker-compose.yml example, replace docker-101 with docker cheatsheet
- troubleshooting: move all troubleshooting documentation to troubleshooting.md

**Usage:**

- index: add getting started section on index page
- features/usage: move all usage-related documentation to usage.md, add links from the main feature list to corresponding usage docs, clarify/reword features list
- shaarli configuration: add note about configuring from web interface

**Removed:**

- remove obsolete/orphan images
- remove obsolete shaarchiver example
- remove outdated "decode datastore content" snippet

**Development:**

- development: move development-related docs (static analysis, CI, unit tests, 3rd party libs, link structure/directory, guidelines, security....) to dev/ directory
- development: Merge several pages to development.md
- **Breaking change?:** remove mentions of 'stable' branch, switch to new branch/release model (master=latest commit, release=latest tag)
- **Breaking change?:** refer to base sharing unit as "Shaare" everywhere (TODO: reflect changes in the code?) doc: update featues list/link to usage.md for details
- development: directory structure: add note about required file permissions
- .travis-ci.yml: add comments
- .htaccess: add comment
2020-09-12 14:31:45 +02:00

2.7 KiB

Plugins

Installation

For plugins shipped with Shaarli, no installation is required.

If you want to install a third party plugin, download it to the plugins directory in Shaarli's installation folder:

# example directory structure
| index.php
| plugins/
|---| custom_plugin/
|   |---| custom_plugin.php
|   |---| ...

Make sure your webserver can read and write the files in your plugin folder.

Configuration

From Shaarli's administration page (Tools link), go to Plugin administration. Here you can enable and disable all plugins available, and configure them.

administration screenshot

Order

In the plugin administration page, you can move enabled plugins to the top or bottom of the list. The first plugins in the list will be processed first.

This is important in case plugins depend on each other. Read plugins READMEs for more information.

Use case: The (non existent) plugin shaares_footer adds a footer to every shaare in Markdown syntax. It needs to be processed before (higher in the list) the Markdown plugin. Otherwise its syntax won't be translated in HTML.

Configuration file

Enabled plugins are stored in your Configuration file, under the array:

$GLOBALS['config']['ENABLED_PLUGINS']

You can edit them manually here. For example:

$GLOBALS['config']['ENABLED_PLUGINS'] = array(
    'qrcode',
    'archiveorg',
    'wallabag',
    'markdown',
);

Usage

Official plugins

Usage of each plugin is documented in it's README file:

  • addlink-toolbar: Adds the addlink input on the Shaares list page
  • archiveorg: For each Shaare, add a link to the archived page on Archive.org
  • default_colors: Override default theme colors.
  • isso: Let visitor comment your shaares on permalinks with Isso.
  • markdown: Render shaare description with Markdown syntax.
  • piwik: A plugin that adds Piwik tracking code to Shaarli pages.
  • playvideos: Add a button in the toolbar allowing to watch all videos.
  • pubsubhubbub: Enable PubSubHubbub feed publishing
  • qrcode: For each Shaare, add a QRCode icon.
  • wallabag: For each Shaare, add a Wallabag icon to save it in your instance.

Third party plugins

See Community & related software