Mainly intended to be used with now deprecated AutoID plugin. Use my Boost plugin instead since that inherited lots of Bolts logic.
Kirby 3 Plugin for a fast Page lookup even in big content trees
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 |
- 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
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.
// 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');
- kirby3-autoid where it speeds up the page lookup
- kirby3-boost which is like Bolt + AutoID but with Caching
- kirby-resolve by Lukas Kleinschmidt
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.
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.
based on idea in