🚀 Kirby 3.7 is here! Learn more
Skip to content

Env

\Beebmx\KirbyEnv::load('main/path');

return [
    'debug'  => env('KIRBY_DEBUG', false),
    'secret' => env('SECRET_KEY'),
    'public' => env('PUBLIC_KEY'),
];

Store project credentials and variables in a .env file and access them in Kirby

Related plugins

return [
    'afbora.loader.roots' => [
        '/plugins/core',
        '/plugins/payment',
        '/plugins/shipping',
    ]
];

Plugin Loader

by Ahmet Bora

With Kirby Loader you can load plugins from multiple roots. Thus, you can simplify the management of your plugins by grouping.
// hook
'page.product.update:after' => function () {
    // your code goes here
}

Template hooks

by Ahmet Bora

Template hooks allow you to manage hooks for page and file templates more easily.
use Beebmx\KirbyDB\DB;

DB::table('users')->get();

Illuminate Database

by Fernando Gutiérrez

Use Laravel's illuminate/database package in Kirby
env('APP_DEBUG');

DotEnv

by Bruno Meilick

Store project credentials and environment variables in a .env file and access them in Kirby
monolog()->info('test-' . time()), [
    'title' => $page->title(),
    'page'  => $page->id()
]);

Monolog

by Bruno Meilick

Use Monolog to log data to files, databases, notifications and more.
plop blueprint $ pages blogpost
plop template $ blogpost
plop content "Nice!" blog blogpost
plop content _ blog blogpost
plop snippet $ slideshow

Plopfile

by Bruno Meilick

CLI tool to generate and append to various files for Kirby3 CMS using Plop.js
sections:
  redirects:
    extends: plugin-redirects3xx

Redirects

by Bruno Meilick

Setup HTTP status code redirects from within the Panel
$site->log('My message', 'error');

Log

by Bart Vandeputte

A little log utility (KLogger wrapper)
$queue = kqQueue('queuename');
$job   = kqJob([
    'foo' => 'foo',
    'bar' => 'bar'
]);

$queue->addJob($job);

Queue

by Bart Vandeputte

Enable workers in Kirby that can do tasks in the background at scheduled intervals (cron) by working through queues of jobs
'en' => [
    [
        'id'      => 'some-uuid',
        'slug'    => 'slug-in-english',
        'content' => [...]
    ]
]

Virtual pages helper kit

by Bart Vandeputte

Opinionated boilerplate helper to make it easier to work with virtual pages in a multilingual kirby 3 setup.

Ray

by Sam Serrien

Helper tool that enables ray ( https://myray.app/ ) on all extendable methods.
site
└ methods
  └ file.php
  └ page.php
  └ site.php
  └ user.php

Methods Folder

by hana+nils

Methods Folder is a plugin to automatically register local methods provided in the folder site/methods just like Kirby accepts local …
<?php foreach ($notifications as $notification): ?>
  <li>
    <?= $notification
      ->track()
      ->toReference()
      ->title() ?>
  </li>
<?php endforeach ?>

Tracker

by hana+nils

Tracker is a plugin to track content changes and create panel logs or front-end notifications in member areas.
kirbylog('Something happened');

Kirbylog

by Johann Schopplich

Zero-dependency global kirbylog() helper for any content

Logger

by Michael Scheurich

This plugin logs all actions in the panel and displays them in a separate view.
my-plugin
└── tests
    ├── roots
    │   ├── blueprints
    │   ├── config
    │   ├── content
    │   └── ...
    └── bootstrap.php

Tester

by Oblik Studio

Allows you to easily write plugin tests by automatically loading Kirby and optionally changing its roots.
// site/routes/my-awesome-route.php
use PresProg\RouteAttributes\Attributes\Get;

return #[Get('/hello')] function () {
    return '<h1>Hello world!</h1>';
};

Route Attributes

by Present Progressive

Use PHP8 attributes to define metadata for your custom routes in separate files.

Other plugins by Fernando Gutiérrez