Recipes
-
Dynamic creation of Open Graph images for social sharing
-
Set up coding style standards and fix violations automatically with configurable tools that are easy to implement.
-
Learn the basics of modifying our core blocks and creating your own from scratch
-
If you don't like the slightly rounded corners of Kirby's new Panel design, here's how to revert this change
-
Boost your website's performance with resized images that adapt to all screen sizes and save bandwidth
-
Prepare Kirby for headless use.
-
Using a JSON representation to auto-populate your Figma designs with content from your Kirby installation
-
Lazy-loading strategies to improve the performance of you site
-
Understanding the advantages of the media folder and how to serve files from the content folder if you prefer.
-
Extend core classes like the Kirby or site classes
-
Adapt the Panel's look & feel to your brand
-
Translate Kirby's exception messages on the frontend in single language sites
-
Leveraging Kirby's authentication features to create a user registration system
-
Display a nice auto-generated image when linking to PDF flyers, booklets etc.
-
A clean and simple way to get Kirby up and running with Dokku, a lightweight PaaS
-
Create blueprints programmatically with PHP
-
Create an editable product list as custom Panel area, complete with dialogs, dropdowns and search.
-
Create your first custom Panel view from scratch
-
Flexible and reliable updates to large amounts of content
-
A walkthrough on how to install and use PurgeCSS with Kirby.
-
A walkthrough on how to install and use Tailwind CSS with Kirby.
-
How to use the same template/controller/model for pages with different blueprints
-
Learn how to update file metadata programmatically
-
This is an example of how to build a nested block including live panel preview and output snippets for the website.
-
Use files from outside of Kirby’s file system as first class citizens
-
Creating a download section with restricted access for authorized users
-
How to configure the popular Nginx web server to run a Kirby website.
-
Start your own block collection based on examples in this recipe
-
Getting started with Docker for development: Quickly spin up Kirby in a Docker container, bind local directories and add other services like MailHog
-
Create virtual pages from a set of uploaded images and their meta data.
-
Using bundlers like kirbyup is not for everyone. Here we show how you can build Panel extensions without a build process.
-
A step-by-step guide to creating custom blocks with a preview using the example of an audio block with a poster and some additional settings.
-
Add a load more button to your listings and append items via Ajax.
-
Understanding classes, objects, member functions and common pitfalls
-
"Don't repeat yourself" (DRY) is a coding paradigm that when not heeded can seriously harm performance.
-
Update a blocks field from the frontend, for example from form data
-
Set up custom components to deliver assets and files through a CDN.
-
Xdebug helps you track down errors in your PHP scripts. In this recipe, we will set it up with VS Code.
-
Make email testing a breeze with the right tools for the task
-
Find and collect all your translations used with the t() helper function in your code.
-
Style Panel elements via blueprint settings and custom CSS
-
Find out about ways to fine-tune and go beyond Kirby's built-in permission system in the Panel
-
Set up a plugin workflow that allows you to both develop and test your plugin from the same Git repository.
-
Create your first custom Panel field from scratch
-
Share the content of a controller across multiple templates
-
Control caching from a blueprint option or a field
-
An alternative approach for running multiple sites from the same Kirby installation.
-
When to use what type of KirbyText/KirbyTags hook
-
Use placeholders for recurring text snippets and more
-
Let's build a custom Panel section
-
Create custom menus from the Panel leveraging the power of the pages and the structure field
-
Or what you wish you had known when you started your first Kirby project.
-
Set up multiple plugins with PHPUnit testing under a single Kirby installation.
-
Send an email with attachments from form input.
-
Auto-generate subpages when you create a new page
-
Create pages from user input on the front end, e.g. from an event registration form.
-
Get text labels for your option values from fields
-
Split long post into separate pages with pagination
-
Learn how to filter using routes instead of parameters
-
Find the development environment that fits your needs.
-
Make language translations more powerful with placeholders.
-
Create a basic contact form that sends HTML or plain text emails.
-
Learn more about the hidden gems and secrets in our own website.
-
Install and update Kirby via Composer.
-
Install and update Kirby via Git
-
Automatically create a sitemap for search engines.
-
Use Kirby's API to sort your content by all sorts of criteria.
-
Write scripts to import and export translations for external translators.
-
Log in to other sites with your domain via RelMeAuth/IndieAuth.
-
When developing, debugging helps identify errors more easily.
-
Add columns to your textarea fields with this KirbyTag plugin.
-
Set a unique title for the homepage.
-
Simulate activity on your site by showing random content.
-
Remove unused fields from content files
-
How to enforce URLs with or without trailing slashes
-
Auto-replace headlines with anchors and generate a table of contents
-
Filter pages, files and users with Kirby's extensive filtering methods.
-
Classify content and make it easy for visitors to find related content.
-
Group collections like articles, events or files by various criteria.
-
Build relations between articles using YAML content and the pages field.
-
Learn how to build a simple search for your site or sections of your site.
-
Add structured data like addresses, events, etc. to your site.
-
Split visitors into groups to compare how different versions perform.
-
Extend existing KirbyTags in custom tags with less hassle.
-
Learn how to upload files through a frontend form.
-
Prevent fallback to default language if no translated content exist.
-
Define language variables the way you need them.
-
Set up Dropbox sync for your site (VPS or dedicated server required).
-
Add basic Twitter and Facebook buttons to your site.
-
Use Kirby’s authentication system to build login-protected pages.
-
Update your file meta data for Kirby 3.
-
Adapt your existing plugins to Kirby 3's new plugin system.
-
Learn how to upgrade an existing project to Kirby 3.
-
Move your Kirby 2 user accounts over to Kirby 3.
-
Run multiple sites from the same Kirby installation.
-
Serve a single page of your site on its own separate domain.
-
Redirect visitors to external resources.
-
Add custom CSS and JavaScript to style individual pages without the need for additional templates.
-
Tie pages to a person. Create an author system for your blog posts.
-
Access blueprints and use this data to control your logic.
-
Set up a blog system with an overview, articles, tags, feeds and more.
-
Create different templates for different kinds of content.
-
Create a JSON representation of your blog content in Kirby.
-
Foreach loops are control structures useful in many contexts.
-
Create any kind of menu you need for your project.
-
Create a one-pager for small companies or simple portfolios.
-
Use pagination to divide content into a list of digestible chunks.
-
Learn some PHP basics that make creating templates a breeze.
-
Create a previous/next navigation for your site.
-
Structure your content in the most flexible way with custom fields.
-
Use dates in your content files and output different date formats.