Skeleton -- a Kanboard plugin template

A minimal, working Kanboard plugin that you copy and rename as the starting point for a real plugin. By itself it does only one trivial thing: it renders the word "Skeleton" at the top of every page. It changes no data and runs no database migration.

What it demonstrates

  • A complete Plugin.php registration class with all the metadata Kanboard shows in Settings -> Plugins (name, description, author, version, homepage, compatible version).
  • A template hook (template:layout:top) that injects a template into the page.
  • Asset hooks (template:layout:css and template:layout:js) that load a stylesheet and a script. They are empty for now but prove the injection path works -- handy when a real plugin needs custom CSS or JS.
  • The standard plugin directory layout, with stub folders (Controller/, Model/, Schema/, Locale/, Test/) ready to grow into.

Requirements

  • Kanboard >= 1.2.0

Installation

No build step and no dependencies.

  1. Copy this folder into your Kanboard installation as plugins/Skeleton/.
  2. Reload any page. The word "Skeleton" appears at the top.
  3. Confirm it under Settings -> Plugins.

To uninstall, delete plugins/Skeleton/. Nothing else is left behind.

Directory layout

Skeleton/
  Plugin.php              Registration and hook wiring (the only required file).
  README.md
  LICENSE                 AGPL-3.0.
  Template/
    layout/header.php     The visible "Skeleton" word.
  Asset/
    css/skeleton.css      Loaded via template:layout:css.
    js/skeleton.js        Loaded via template:layout:js.
  Controller/             Stub for future request handlers.
  Model/                  Stub for future business logic / DB access.
  Schema/                 Stub for future database migrations.
  Locale/                 Stub for future translations (e.g. pt_BR/, fr_FR/).
  Test/                   Stub for future unit tests.

How to fork this into a new plugin

  1. Copy the folder and rename it, e.g. plugins/MyPlugin/. The folder name must match the namespace and start with a capital letter.
  2. In Plugin.php, change the namespace from Kanboard\Plugin\Skeleton to Kanboard\Plugin\MyPlugin.
  3. Update the metadata methods (getPluginName, getPluginDescription, getPluginAuthor, getPluginVersion, getPluginHomepage, getCompatibleVersion).
  4. Update the hook target paths: the lowercase prefix in 'skeleton:layout/header' and the plugins/Skeleton/Asset/... asset paths must match the new plugin name.
  5. Replace Template/layout/header.php with your real template, or attach to a different hook. See the Kanboard plugin hooks documentation for the full list of hook points.

License

AGPL-3.0. See LICENSE.

Description
No description provided
Readme AGPL-3.0 220 KiB
Languages
PHP 90.2%
JavaScript 9.8%