⚡ Your block blueprints and snippets in one place
// Have everything nicely grouped together. Let our plugin do the heavy lifting.
📂 site
📂 blocks
📂 call-to-action
📄 call-to-action.yml // Block blueprint
📄 call-to-action.php // Block snippet
You store blueprints and snippets for your custom blocks in different locations by default: Blueprints go to site/blueprints/blocks
and snippets go to site/snippets/blocks
. How about having all files that form a new block in one folder and let this plugin take care of loading and registering everything?
Say you would like to add a custom call to action
block. At least a blueprint and a snippet are required. Rather than placing them in separate folders, we use this plugin to have them nicely grouped together:
- create a folder
site/blocks
. This is where all your custom blocks go. This can be configured with a custom rootblocks
in yourindex.php
. - Create a folder
call-to-action
insidesite/blocks
. This is where your blueprint and snippet(s) go. - Add a file
call-to-action.yml
and set up your blueprint - Add a file
call-to-action.php
and render your block as you would like in any other snippet.
The plugin will scan the folder and register both the blueprint and snippet as blocks/call-to-action
:
// […]
'blueprints' => [
'blocks/call-to-action' => 'site/blocks/call-to-action/call-to-action.yml',
],
'snippets' => [
'blocks/call-to-action' => 'site/blocks/call-to-action/call-to-action.php',
],
// […]
Composer
composer require {{ your-name }}/block-loader
Download
Download and copy this repository to /site/plugins/block-loader
.
Git submodule
git submodule add https://github.com/presprog/block-loader.git site/plugins/block-loader
- Load block preview from block sub folder, too.
MIT
microman/components tries to solve this problem, too and introduces the new concept of components. This is a more versatile approach, as components can be anything. Our plugin only works for blocks.
Made with