PHPackages                             presprog/kirby-block-loader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. presprog/kirby-block-loader

ActiveKirby-plugin[Utility &amp; Helpers](/categories/utility)

presprog/kirby-block-loader
===========================

Have block blueprints and snippets in one place

0.1.0(2y ago)03MITPHPPHP ^8.1

Since Feb 12Pushed 2y ago1 watchersCompare

[ Source](https://github.com/presprog/kirby-block-loader)[ Packagist](https://packagist.org/packages/presprog/kirby-block-loader)[ RSS](/packages/presprog-kirby-block-loader/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Block Loader
============

[](#block-loader)

> ⚡ 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?

How to use
----------

[](#how-to-use)

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:

1. create a folder `site/blocks`. This is where all your custom blocks go. This can be configured with a custom root `blocks` in your `index.php`.
2. Create a folder `call-to-action` inside `site/blocks`. This is where your blueprint and snippet(s) go.
3. Add a file `call-to-action.yml` and set up your blueprint
4. 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',
    ],
// […]
```

Installation
------------

[](#installation)

**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

```

TODO
----

[](#todo)

- Load block preview from block sub folder, too.

License
-------

[](#license)

MIT

Alternatives
------------

[](#alternatives)

[microman/components](https://getkirby.com/plugins/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 ♥️ and ☕ by Present Progressive

[![](/logo.svg?raw=true)](/logo.svg?raw=true)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

817d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fb1ebdab7f2ba8b43be86588cbdcf153b0342e9364c3c890f8b8d6715fccbc3f?d=identicon)[presprog](/maintainers/presprog)

---

Top Contributors

[![bezin](https://avatars.githubusercontent.com/u/4400435?v=4)](https://github.com/bezin "bezin (10 commits)")

### Embed Badge

![Health badge](/badges/presprog-kirby-block-loader/health.svg)

```
[![Health](https://phpackages.com/badges/presprog-kirby-block-loader/health.svg)](https://phpackages.com/packages/presprog-kirby-block-loader)
```

###  Alternatives

[spatie/laravel-cookie-consent

Make your Laravel app comply with the crazy EU cookie law

1.5k4.7M20](/packages/spatie-laravel-cookie-consent)[mpociot/vat-calculator

EU VAT calculation, the way it should be.

1.3k3.9M18](/packages/mpociot-vat-calculator)[czproject/git-php

Library for work with Git repository in PHP.

5544.9M80](/packages/czproject-git-php)[async-aws/async-aws-bundle

Configure all your AsyncAws services and enjoy the autowire greatness.

243.6M2](/packages/async-aws-async-aws-bundle)[typo3/cms-sys-note

TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a page or section.

115.9M31](/packages/typo3-cms-sys-note)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
