Sonja Broda
 
	All recipes
- 
		Development & deployment Kirby meets DDEVSet up a local development environment for Kirby with DDEV in no time. 
- 
		Panel Basic Panel areaCreate your first custom Panel view from scratch 
- 
		Frontend Including CSS/JS librariesHow to add CSS or JS files to your templates 
- 
		Development & deployment Coding style standardsFix coding style violations automatically with easy-to-implement, configurable tools 
- 
		Performance Responsive imagesBoost your site's performance with images that adapt to all screen sizes 
- 
		Performance Image lazy-loadingLazy-loading strategies to improve your site's performance 
- 
		Development & deployment Replacing core classesExtend core classes like the Kirby or site classes 
- 
		Forms User registrationLeveraging Kirby's authentication features to create a user registration system 
- 
		Extensions Preview images for PDFsDisplay a nice auto-generated image when linking to PDF flyers, booklets etc. 
- 
		Development & deployment PHP-based blueprintsCreate blueprints programmatically with PHP 
- 
		Panel Advanced Panel areaPanel area with editable list, complete with dialogs, dropdowns and search 
- 
		Security Protecting filesRestrict access to a files download section to authorized users 
- 
		Development & deployment Kirby meets DockerGet started with Docker as development environment 
- 
		Plugins Plugins with/without a build processBuild Panel extensions without a build process. 
- 
		Content representations Load more with AjaxAdd a load more button to your listings and append items via Ajax. 
- 
		PHP OOP in PHPLearn the basics of object oriented programming in PHP 
- 
		Performance Kirby loves CDNDeliver assets and files through a CDN. 
- 
		PHP Debugging with XdebugXdebug helps you track down errors in your PHP scripts. 
- 
		Development & deployment Email testingMailHog and similar tools make email testing a breeze 
- 
		Security Extending permissionsFine-tune and go beyond Kirby's built-in permission system in the Panel 
- 
		Panel Custom Panel fieldCreate a custom Panel field from scratch 
- 
		Content & structure PlaceholdersUse placeholders for recurring text snippets and more 
- 
		Panel Custom Panel sectionBuilding very basic custom Panel section for a link list 
- 
		Navigation Menu builderCreate custom menus from the Panel using different field types 
- 
		Forms Forms with attachmentsSending email with attachments from form input. 
- 
		Content & structure Subpage builderAuto-generate subpages when you create a new page 
- 
		Forms Create pages from frontendCreate pages from an event registration form 
- 
		i18n Fetching field optionsGet text labels for your option values from fields 
- 
		Content & structure Paginating postsSplit long post into separate pages with pagination 
- 
		Collections Filtering via routesLearn how to filter using routes instead of parameters 
- 
		Forms Contact formCreate a basic contact form that sends HTML or plain text emails. 
- 
		Collections Sorting collectionsUse Kirby's API to sort your content by all sorts of criteria. 
- 
		PHP Basic error hunting & preventionDebug configuration and understanding error messages 
- 
		Extensions Kirbytext columnsAdd columns to your textarea fields with this KirbyTag plugin. 
- 
		Development & deployment Content clean-upRemove unused fields from content files 
- 
		Navigation Anchors and ToCsAuto-replace headlines with anchors and generate in-page navigation 
- 
		Collections Filtering collectionsFilter pages, files and users with Kirby's extensive filtering methods. 
- 
		Collections Filtering with tagsClassify content and make it easy for visitors to find related content. 
- 
		Collections Grouping collectionsGroup pages, files, or users by various criteria. 
- 
		Content & structure Adding authorsTie pages to a person. Create an author system for your blog posts. 
- 
		Content & structure Custom post typesCreate different templates for different kinds of content. 
- 
		Forms Uploading filesLearn how to upload files through a frontend form. 
- 
		Navigation Previous / Next navigationCreate a previous/next navigation for your site. 
- 
		PHP Fun with loops and collectionsForeach loops are control structures useful in many contexts. 
- 
		PHP PHP templatingLearn some PHP basics that make creating templates a breeze. 
- 
		Security Access forbiddenUse Kirby’s authentication system to build login-protected pages. 
- 
		Mixed Accessing blueprintsUse data from blueprints to control your template logic 
All quicktips
- 
		Remove rounded corners
- 
		Skip media folder
- 
		Translate exception messages
- 
		Sharing templates across blueprints
- 
		Update file metadata
- 
		Keep code dry
- 
		Add blocks to blocks field programmatically
- 
		Customize Panel
- 
		Cache fine-tuning
- 
		Order of KirbyText/KirbyTags hooks
- 
		Placeholders in language strings
- 
		Add/prevent trailing slash
- 
		Reusing KirbyTags
- 
		Filter by language
- 
		Language variables
- 
		Serve page on own domain