bnomei / kirby3-bolt
Kirby 3 Plugin for a fast Page lookup even in big content trees
Fund package maintenance!
bnomei
Patreon
buymeacoff.ee/bnomei
paypal.me/bnomei
Installs: 664
Dependents: 0
Suggesters: 1
Security: 0
Stars: 24
Watchers: 2
Forks: 1
Open Issues: 3
Type:kirby-plugin
Requires
- php: >=7.3.0
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cms: ^3.2
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9.5
Suggests
- bnomei/kirby3-autoid: AutoID has build in support for Bolt which makes it incredibly fast.
- lukaskleinschmidt/kirby-resolve: In using the same idea but applied routes using paths (not ids) and thus even faster.
This package is auto-updated.
Last update: 2022-11-06 14:22:05 UTC
README
Mainly intended to be used with now deprecated AutoID plugin. Use my Boost plugin instead since that inherited lots of Bolts logic.
Kirby 3 Bolt
Kirby 3 Plugin for a fast Page lookup even in big content trees
Commercial Usage
Support open source!
This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?
Be kind. Share a little. Thanks.
‐ Bruno
M | O | N | E | Y |
---|---|---|---|---|
Github sponsor | Patreon | Buy Me a Coffee | Paypal dontation | Hire me |
Installation
- unzip master.zip as folder
site/plugins/kirby3-bolt
or git submodule add https://github.com/bnomei/kirby3-bolt.git site/plugins/kirby3-bolt
orcomposer require bnomei/kirby3-bolt
Why is Bolt faster and how much?
Because it does not scan each directory and file but skips as many of them as possible. Once you use the Page-Object in your code Kirby will lazily load uninitalized properties.
How much is gained depends on how many have been skipped. You can in average expect it to be n-times faster by the average folder count in your content tree. Example: 1000 pages in 10 folders 3 levels deep: 10*10*10. If you need a page from the third level Kirby would have to create a page index of 10+10+10=30 pages but Bolt will create only 3.
Usage
// lets assume 1000 pages: 10*10*10 $id = 'this-page-has/ten-siblings/in-every-subfolder'; $page = page($id); // kirby core $page = bolt($id); // ~10x faster lookup // can lookup beginning at a certain page as well $page = $somePage->bolt($idInTree); // it's even faster when you look up based on a directory name $page = bolt('1_this-page-has/5_ten-siblings/3_in-every-subfolder');
Works great with
- kirby3-autoid where it speeds up the page lookup
Alternative
- kirby3-boost which is like Bolt + AutoID but with Caching
Related Plugins
- kirby-resolve by Lukas Kleinschmidt
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.
Credits
based on idea in