How lex-zander/kirby-karbon works
Kirby Karbon lets site editors maintain organisation disclosures and upstream hosting services in the Kirby Panel, then serves those values as carbon.txt at two routes. The update hook refreshes the last-updated date only when those data fields change. The renderer filters and normalizes entries, formats TOML, and returns a plain-text response. The README also documents English and German Panel labels. Runtime wiring is visible in index.php and lib/CarbonTxt.php; the blueprint and translations are included as product resources.
Main entry points: CarbonTxt.php CarbonTxt renderer · karbon.yml Carbon tab · index.php Change hook · translations Panel labels
Components 15
Panel editing
- Carbon tab
blueprints/tabs/karbon.yml - Carbon fields
blueprints/tabs/karbon.yml - Panel labels
translations
Update lifecycle
- Site content
- Change hook
index.php - Last updated
index.php
Carbon output
- GET routes
index.php - Plain-text response
lib/CarbonTxt.php - CarbonTxt renderer
lib/CarbonTxt.php - Disclosure entries
lib/CarbonTxt.php - Service entries
lib/CarbonTxt.php - TOML formatting
lib/CarbonTxt.php
Other components
- Site editor
- HTTP requester
- Carbon.txt consumers
Connections 16
- Site editor → Carbon tab: opens tab
- Carbon tab → Carbon fields: defines fields
- Carbon fields → Site content: saves data
- Site content → Change hook: triggers update
- Change hook → Last updated: sets date
- Last updated → Site content: updates field
- Site editor → Panel labels: sees labels
- HTTP requester → GET routes: requests GET
- GET routes → Plain-text response: invokes response
- Plain-text response → CarbonTxt renderer: renders text
- CarbonTxt renderer → Site content: reads fields
- CarbonTxt renderer → Disclosure entries: formats entries
- CarbonTxt renderer → Service entries: formats entries
- CarbonTxt renderer → TOML formatting: templates output
- TOML formatting → Plain-text response: returns text
- Plain-text response → Carbon.txt consumers: serves file