Episode 75
I hope you had a good start into the new year! For the podcast lovers among you, we have a treat right at the beginning: Basti chats with Marc Thiele about Kirby (of course!), but also about the state of social media and Twitter, corporate structures and more (in German).
Meet Kirby 3.9.0 Brookesia
Snippets with slots
Templating on another level
Snippets with slots turn your PHP snippets into rich components. Pass full code blocks into a snippet and output them right in the middle of the snippet where you need them.
Structure field improvements
New row & delete all buttons
PHP 8.2 support
PHP moves forward, we do too
With support for PHP 8.2, you can update your servers to the latest PHP version. And you can start using PHP 8.2 features in your custom code if you like.
For a full list of all features and enhancement and an overview of breaking changes, check out our release page.
Kirby Kosmos: Satellite releases
Kirby CLI 1.1.0
Big update
The Kirby Command Line Interface is getting a big update. Kirby plugins can now define their own commands for the CLI, you can register your installation without going to the Panel and more…
Kirby KQL 2.0.0
Fully refactored, more features
Kirby's Query Language API combines the flexibility of Kirby's data structures, the power of GraphQL and the simplicity of REST. KQL 2.0.0 comes with all the new query syntax improvements from Kirby 3.8.3 and a fully refactored code base. Get started with the new KQL Playground which provides a set of example queries. Connected to our Starterkit, you can play around with your own queries.
Staticache 1.0.0
Ready for prime time
Staticache is our alternative page cache plugin for Kirby that stores responses as fully static files, thus increasing site performance even more.
It now comes with support for multi-language sites and content representations and a new mode that caches custom HTTP response headers.
Eleventykit
Built with Kirby and 11ty
The Eleventykit is a simple, unstyled example site, built with Kirby and 11ty.
It uses Kirby's query language (KQL) to fetch articles from our KQL playground.
Kirby in the wild
Meet the Metaorganism: Headless Kirby CMS using content representations
Kirby plugins & tools
Kirby Chunky: Don't worry about file upload limitations anymore and get fast, secure, and resumable uploads using the tus protocol.
Separate your snippet logic from the presentation part with the Kirby Snippet Controller plugin.
Kirby Webfinger adds Webfinger support to your website. The basic setup enables a Mastodon endpoint, but other endpoints can be configured.
Template stacks allows you to repeatedly send data to named stacks from other places in your code. Great in conjunction with the new snippets with slots (see above).
Cookbook recipes
We added a new cookbook recipe for beginners: How to add frontend libraries to your Kirby site.
This & that
PHP has better ways to deal with arrays than looping through all items. Check out this article on taming arrays.
Building a web analytics service without cookies poses a tricky problem: How do you distinguish unique visitors? Learn how in Counting unique visitors without using cookies, UIDs or fingerprinting.
Lyra is an immutable, runtime-agnostic, and in-memory full-text search engine that works on both the client and the server.
Lighthouse PHP makes it easy to run Google Lighthouse using PHP.
If you want to notify a user that something has happened in your application, display those notifications near where the action occurred. Here is how to do that with plain JavaScript.
Images, unless they are just for decoration, should have descriptive text to make them accessible to users who cannot view them for some reason. But what kind of images convey information and which ones don't. Some tips to make the decision a little easier.
SmartShape provides a polygon of connected points that can be attached to and displayed over any HTML node. The user can then interact with and move these points.
Slow loading CSS prevents the following JavaScript from loading, which is aggravated when the scripts are used inline. Inline JavaScript modules can prevent that.
New web browser APIs make it easy to add strong biometric authentication to your web application. Here's how.
Sara Soueidan shows how to set up a screen reader testing environment on your computer.
Harry Roberts explains why using the document.write() JavaScript method should be avoided.
Forms are tricky, there's no denying that. Even with standard HTML input elements, there are a few things to keep in mind to make them easy for users to understand and access.