hksagentur / kirby-schema
Frequently used data structures for the Kirby panel
Installs: 357
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:kirby-plugin
pkg:composer/hksagentur/kirby-schema
Requires
Requires (Dev)
- laravel/pint: ^1.20
Suggests
- commerceguys/addressing: Required to associate models with an address.
- getkirby/geo: Required to calculate the distance between geographic locations.
- spatie/opening-hours: Required to format the opening hours of models.
- dev-main
- 1.32.1
- 1.32.0
- 1.31.0
- 1.30.0
- 1.29.0
- 1.28.0
- 1.27.0
- 1.26.2
- 1.26.1
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.5
- 1.23.4
- 1.23.3
- 1.23.2
- 1.23.1
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.1
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.2
- 1.13.1
- 1.13.0
- 1.12.0
- 1.11.2
- 1.11.1
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
This package is auto-updated.
Last update: 2025-11-27 12:22:40 UTC
README
Frequently used data structures for Kirby CMS.
Requirements
Kirby CMS (>=4.0)
PHP (>= 8.3)
Installation
Composer
composer require hksagentur/kirby-schema
Download
Download the project archive and copy the files to the plugin directory of your kirby installation. By default this directory is located at /site/plugins.
Usage
All blueprints provided by the plugin are registered within a custom namespace (@hksagentur/schema). You have to reference or extend these blueprints to take advantage of the provided data structures.
A simple exampe would be to use the navigation blueprint for the site:
# site/blueprints/site.yml tabs: content: label: Content fields: [] settings: label: Settings fields: navigation: @hksagentur/schema/fields/navigation
Instead of referencing the provided blueprints directly you can use them as a base and start customizing:
# site/blueprints/site.yml tabs: content: label: Content fields: [] settings: label: Settings fields: navigation: extends: @hksagentur/schema/fields/navigation fields: classNames: type: text label: HTML Classes target: false rel: false
This applies to all blueprints regardless of their type.
If you only want to use a blueprint without extending it, you can let the plugin generate aliases for you:
<?php // site/config/config.php return [ 'hksagentur.schema.aliases' => [ 'files/image', 'files/video', ], ];
This would make the image and video blueprints available without the namespace as files/image or files/video. You can also provide a custom name, if you like:
<?php // site/config/config.php return [ 'hksagentur.schema.aliases' => [ 'files/image' => 'files/gallery-image', 'files/video' => 'files/gallery-video', ], ];
Available Blueprints
Below is an overview of all available blueprints provided by this plugin. Each entry lists the readable name, the ID (for reference/extension), and a short description.
Block Blueprints
| Name | ID | Description |
|---|---|---|
| Accordion | @hksagentur/schema/blocks/accordion |
Collapsible group of contents. |
| Billboard | @hksagentur/schema/blocks/billboard |
Promotional banner showcasing key messages or visuals. |
| Cards | @hksagentur/schema/blocks/cards |
Present related content in concise, self-containing blocks. |
| Collection | @hksagentur/schema/blocks/collection |
Customizable list of related pages. |
| Disclosure | @hksagentur/schema/blocks/disclosure |
Expandable and collapsible content section. |
| Gallery | @hksagentur/schema/blocks/gallery |
Group related images in a gallery. |
| Heading | @hksagentur/schema/blocks/heading |
Define the documents hierarchy using headings. |
| Hero | @hksagentur/schema/blocks/hero |
Prominent section highlighting main message. |
| Image | @hksagentur/schema/blocks/image |
Embed images from internal or external sources. |
| Media Text | @hksagentur/schema/blocks/media-text |
Combine media with descriptive text. |
| Tabs | @hksagentur/schema/blocks/tabs |
Spread related contents across multiple tabs. |
| Video | @hksagentur/schema/blocks/video |
Play embedded media content. |
Field Blueprints
| Name | ID | Description |
|---|---|---|
| Actions | @hksagentur/schema/fields/actions |
Group of links. |
| Address | @hksagentur/schema/fields/address |
Postal address fields. |
| Align Content | @hksagentur/schema/fields/align-content |
Vertical alignment of content items. |
| Author | @hksagentur/schema/fields/author |
Assign a user as content author. |
| Blocks | @hksagentur/schema/fields/blocks |
Flexible content builder using Kirby blocks. |
| Caption | @hksagentur/schema/fields/caption |
Short description for images or figures. |
| Category | @hksagentur/schema/fields/category |
Category selection with autocompletion. |
| Channels | @hksagentur/schema/fields/channels |
Link to related social media channels. |
| Content Layout | @hksagentur/schema/fields/content-layout |
Arrange content blocks in a layout. |
| Coordinates | @hksagentur/schema/fields/coordinates |
Geographic coordinates of a place. |
| Cover | @hksagentur/schema/fields/cover |
Preview image of a page or entity. |
| Created | @hksagentur/schema/fields/created |
Automatically populated creation date. |
| Currency | @hksagentur/schema/fields/currency |
Select the currency for prices or amounts. |
@hksagentur/schema/fields/email |
Email address of a person or organization. | |
| Eyebrow | @hksagentur/schema/fields/eyebrow |
Small text above a headline. |
| Fax | @hksagentur/schema/fields/fax |
Fax number of a person or organization. |
| Featured | @hksagentur/schema/fields/featured |
Mark content as featured. |
| Gallery | @hksagentur/schema/fields/gallery |
Group related images in a gallery. |
| Heading Level | @hksagentur/schema/fields/heading-level |
HTML heading level to choose from. |
| Heading | @hksagentur/schema/fields/heading |
Text input for headlines or titles. |
| Hours | @hksagentur/schema/fields/hours |
Opening hours of a store or local business. |
| Image | @hksagentur/schema/fields/image |
File picker for image files. |
| Inline Text | @hksagentur/schema/fields/inline-text |
Formatted inline text elements. |
| Justify Content | @hksagentur/schema/fields/justify-content |
Horizontal alignment of content items. |
| License | @hksagentur/schema/fields/license |
A license document applied to an item. |
| Limit | @hksagentur/schema/fields/limit |
Specify a maximum value or amount. |
| Link | @hksagentur/schema/fields/link |
Reference an internal or external document. |
| Logo | @hksagentur/schema/fields/logo |
File picker for a logo. |
| Markdown | @hksagentur/schema/fields/markdown |
Markdown editor for formatted text. |
| Name | @hksagentur/schema/fields/name |
Separate fields for the individual parts of a name. |
| Navigation | @hksagentur/schema/fields/navigation |
Hierarchical navigation structure. |
| Occupation | @hksagentur/schema/fields/occupation |
Assign one or more occupations to a person. |
| Offset | @hksagentur/schema/fields/offset |
Display offset for lists or queries. |
| Open | @hksagentur/schema/fields/open |
Toggle open/closed state of blocks. |
| Organization | @hksagentur/schema/fields/organization |
Organization details with address and contact info. |
| Person | @hksagentur/schema/fields/person |
Contact details for a person. |
| Price | @hksagentur/schema/fields/price |
The offer price of a product. |
| Published | @hksagentur/schema/fields/published |
Date when the page was first published. |
| Ratio | @hksagentur/schema/fields/ratio |
Selection of common aspect ratios. |
| Responsibilities | @hksagentur/schema/fields/responsibilities |
Assign one or more responsibilities to a person. |
| Reverse | @hksagentur/schema/fields/reverse |
Reverse the order of a sequence. |
| Rich Text | @hksagentur/schema/fields/rich-text |
Editor for formatted, rich content. |
| Source | @hksagentur/schema/fields/source |
Source and license information of a file. |
| Tags | @hksagentur/schema/fields/tags |
Associate an entity with tags. |
| Telephone | @hksagentur/schema/fields/telephone |
Telephone number of a person or organization. |
| Updated | @hksagentur/schema/fields/updated |
Last modification date of a page. |
| Video | @hksagentur/schema/fields/video |
File picker for videos files. |
| Website | @hksagentur/schema/fields/website |
URL to an external website. |
File Blueprints
| Name | ID | Description |
|---|---|---|
| Document | @hksagentur/schema/files/document |
Complementary documents such as PDFs or compressed archives. |
| Image | @hksagentur/schema/files/image |
Generic image with alternative text and caption. |
| Logo | @hksagentur/schema/files/logo |
Visual identity of a brand or institution. |
| Video | @hksagentur/schema/files/video |
Video file with poster and caption. |
Page Blueprints
| Name | ID | Description |
|---|---|---|
| Article | @hksagentur/schema/pages/article |
Short publication like a news article or blog post. |
| Page | @hksagentur/schema/pages/default |
Generic page using the Kirby block builder. |
| Employee | @hksagentur/schema/pages/employee |
Personal profile of an employee. |
License
ISC License. Please see License File for more information.