Kirby CMS plugin for automatically loading blocks from folder (default site/blocks). Useful for organisation. This is part of Merkur but it can be used alone.
Kirby by default for "example" block uses files site/blueprints/blocks/example.yml and site/snippets/blocks/eample.php this plugin adds possibility to load using site/blocks/example/example.yml and site/blocks/example/example.php.
composer require floriankarsten/merkur-blocks-loader
or just download the repo and put it into site/plugins
Plugin doesn't require any additional setup.
You can change name of blocks directory using option floriankarsten.merkur-blocks-loader.dirname.
You can turn off caching using floriankarsten.merkur-blocks-loader.cache
// Default settings
[
'floriankarsten.merkur-blocks-loader' => [
'cache' => true,
'dirname' => 'blocks'
],
]There is very basic caching strategy thats turned on when option debug = false. I probably have to come up with something better (ideas welcome) but it works OK now. Cache can be turned off using floriankarsten.merkur-blocks-loader.cache === false
Files loaded from plugins < Files loaded from Blocks Loader < Files loaded from default paths
When you load multiple blueprint/template with same name it gets overwritten and the last one gets used. Kirby default paths go last so they will take precedence over everything. This plugin loads files from system.loadPlugins:after hook so it will take precedence over files loaded from plugins. For example if you have both site/blueprints/blocks/example.yml and site/blocks/example/example.yml then default site/blueprints/blocks/example.yml will be used.
- How to make caching better?
- Loading from multiple locations?