zeimoto / branding
Site logo marks, color palettes, and a palette-backed Panel field.
Package info
github.com/madebyzeimoto/zeimoto-branding
Type:kirby-plugin
pkg:composer/zeimoto/branding
Requires
- php: ^8.5
- getkirby/cms: ^5.6.1
- getkirby/composer-installer: ^1.2.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
zeimoto/branding owns the site's visual-identity data: logo marks and color
palettes. It supplies the site Branding tab, the zeimoto-color Panel field, and
two global helpers for resolving marks. It does not style the public frontend.
Installation
Requires PHP 8.5 and Kirby 5.6.1 or later within Kirby 5.
The Composer package is zeimoto/branding and installs into
site/plugins/zeimoto-branding. Release versions come from Git tags.
Once published on Packagist:
composer require zeimoto/branding
For manual installation, copy this plugin into site/plugins/zeimoto-branding.
See the integration requirements below before using its public surfaces.
The plugin is distributed under the MIT license; see LICENSE.
Branding tab
The plugin registers the blueprint tabs/branding/site. Mount it in the site
blueprint:
tabs: branding: tabs/branding/site
The tab stores two structures on the site: palettes (a label and its named
hex swatches) and marks (a name, a slug, and one file).
Helpers
$mark = zeimotoMark("wordmark"); $alt = $mark ? zeimotoMarkAlt($mark) : null;
zeimotoMark(string $slug): File|nullreturns the file of the mark with that slug, ornullwhen the slug is unknown or has no file.zeimotoMarkAlt(File $mark): stringreturns the file'salttext, falling back to the matching mark's name, then to an empty string.
Both return raw values; escape at output. Check for null before emitting markup.
Color field
type: zeimoto-color label: Theme Light Mode
The field extends Kirby's color field and offers the site's palettes as
swatches. Palettes always come from the Branding tab, never from the blueprint.
When none are defined it offers black and white.
Integration
There are no plugin options and no build step; Kirby loads index.js and
index.css in the Panel.
The Marks file field uses the host's files/image upload blueprint. Supply that
blueprint (and any definitions it extends) to control upload validation and file
metadata. The kit provides it at site/blueprints/files/image.yml.
Development environment
Open kirby.code-workspace while this plugin is installed under the zeimoto Kirby
Kit's site/plugins/ directory. The workspace uses the kit's Composer and npm
dependencies, shared formatting rules, and Kirby classes for autocomplete. IDE
stubs are included; local editor settings, caches, private notes, and .env are
ignored. The formatter launcher currently requires Herd's PHP 8.5 on macOS.
Install Composer and npm dependencies at the kit root. From that root, check this plugin with:
node tools/check-style.mjs --plugin site/plugins/zeimoto-branding