moritzebeling / kirby-maintenance
Kirby Maintenance mode plugin
Fund package maintenance!
Paypal
Installs: 116
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 1
Open Issues: 3
Type:kirby-plugin
Requires
README
This plugin uses the route:before
hook to hide the whole website from not-logged-in users when option('maintenance')
is set to true
. It also sends a 503
code.
Kirby urls like assets
, api
, media
, panel
will be ignored and are still available.
Installation
composer require moritzebeling/kirby-maintenance composer update moritzebeling/kirby-maintenance
Or download/clone this repo into site/plugins
of your Kirby project.
There are different ways to control the maintenance mode:
Via option
// site/config.php return [ // one line switch 'maintenance' => true, // more detailed configuration 'moritzebeling.kirby-maintenance' => [ 'ignore' => [], 'css' => false, 'text' => 'This website is currently under maintenance and will be back online soon.', ] ];
Via panel
Add a field maintenance
to the site.yml
blueprint to meet the condition $site->maintenance()->isTrue()
.
Via $site->maintenance_text()
you could edit the text that would welcome any logged out website visitor.
You can also use one of the prefabricated blueprint parts:
tabs/maintenance
sections/maintenance
fields/maintenance
fields/maintenance_text
Via file
You could also add a /.maintenance
file to the Kirby root directory to switch on maintenance mode. This method is used by bnomei/kirby3-janitor plugin. If you enter any text inside that file, this will be the output when the site is in maintenance mode.
Suggested by #1
Add style
With the moritzebeling.kirby-maintenance.css
option you could add a stylesheet, e.g.:
/* /assets/css/maintenance.css */ body { width: 100%; height: 100%; margin: 0; padding: 1rem; display: flex; text-align: center; justify-content: center; align-items: center; } .message { max-width: 500px; }
Development
- Install a fresh Kirby StarterKit
cd site/plugins
git clone
this repo
Roadmap
- Check if there is a page with the slug
maintenance
, if yes, display that page - Allow pages to be ignored via field or blueprint option
- Multilang support
☕️ Support
If you like this plugin, I would be glad if you would invite for on a coffee via PayPal If you have any ideas for further development or stumble upon any problems, please open an issue or PR. Thank you!
Warranty
This plugin is work in progress and comes without any warranty. Use at your own risk.