pubvana / themes
Theme manager for Pubvana CMS
Package info
Type:flightphp-plugin
pkg:composer/pubvana/themes
Requires
- php: ^8.1
- enlivenapp/flight-school: ^0.3
- enlivenapp/flight-settings: ^0.2
- enlivenapp/flight-shield: ^0.2
- enlivenapp/migrations: ^0.2
- ezyang/htmlpurifier: ^4.19
- flightphp/active-record: ^0.7
Suggests
- pubvana/admin: Admin UI for theme selection and management
README
Pubvana Themes
I noticed folks downloading some of these packages. I'm super grateful, Thank You! I would like to let folks know until this notice disappears I'm doing a lot of breaking changes without worrying about them. Once versions are up around 0.5.x things should settle down.
Theme discovery, activation, options, and region/block management for Pubvana CMS.
Related Docs
- Project docs index: docs/README.md
- Pubvana architecture: docs/PUBVANA-ARCHITECTURE.md
- Package conventions: docs/PLUGIN-ARCHITECTURE.md
Features
- Discover themes from the filesystem
- Sync theme metadata from
pubvana.json - Activate and validate themes
- Persist theme options
- Publish theme assets
- Manage block placements across regions
Requirements
- PHP ^8.1
- enlivenapp/flight-school ^0.2
- enlivenapp/flight-shield
- enlivenapp/migrations
- flightphp/active-record ^0.7
- pubvana/admin
Installation
composer require pubvana/themes
Enable in app/config/config.php:
'plugins' => [ 'pubvana/themes' => [ 'enabled' => true, 'priority' => 50, ], ],
Flight School config
This package uses Flight School's return-array config format. src/Config/Config.php returns the package defaults as an array, and Flight School stores that array under pubvana.themes on $app.
That returned array currently includes 'routePrepend' => 'themes'. This package currently ships admin routes only, so its screens remain under /admin/themes....
Service
Mapped as $app->themes(). Region/block rendering is handled through $app->regions().
Common responsibilities include:
- discovering installed themes
- synchronizing theme records with the filesystem
- activating a selected theme
- reading and saving theme options
- rendering placed blocks into theme regions
Admin
Core theme screens include:
/admin/themes/admin/themes/{id}/options/admin/themes/regions
This package is also the home of region/block placement management.
License
MIT