PHPackages                             pubvana/themes - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pubvana/themes

ActiveFlightphp-plugin[Utility &amp; Helpers](/categories/utility)

pubvana/themes
==============

Theme manager for Pubvana CMS

0.2.3(1mo ago)041MITPHPPHP ^8.1

Since Apr 29Pushed 1mo agoCompare

[ Source](https://github.com/Pubvana-CMS/themes)[ Packagist](https://packagist.org/packages/pubvana/themes)[ RSS](/packages/pubvana-themes/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (6)Versions (6)Used By (1)

[![Stable? Not Quite Yet](https://camo.githubusercontent.com/8712c441bb32fd8db507e0008c5d13e30def50064f8fcbc689fbcf5191f7d2af/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f737461626c652533462d6e6f7425323071756974652532307965742d626c75653f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/pubvana/themes)[![License](https://camo.githubusercontent.com/7578dc6f9e57c638360becc59c28ab079f610dba6dc73e042d5c6d82d045524f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f70756276616e612f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/pubvana/themes)[![PHP Version](https://camo.githubusercontent.com/c18fa0d275cabee3fd0227179ccfb0d6179c1c64d4166693359bddac0e761151/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f70756276616e612f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/pubvana/themes)[![Monthly Downloads](https://camo.githubusercontent.com/ad0b44ac98d91c3bf53ae6b2348ae6a19c830e1fb413eabe46177be984057c2a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f70756276616e612f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/pubvana/themes)[![Total Downloads](https://camo.githubusercontent.com/50fb0b530e1daad0554f0073f7c1ff10c77f314237f2f9683b45238695f51e7d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f70756276616e612f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/pubvana/themes)[![GitHub Issues](https://camo.githubusercontent.com/fa745daf7c81d91b2cdc38bded754a4f2debe577cd441b958ac1acbd9af6717e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f50756276616e612d434d532f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://github.com/Pubvana-CMS/themes/issues)[![Contributors](https://camo.githubusercontent.com/c08421d86adf0811ee0b7e3896a36a17748234b59cde8938ee186a817786280c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f50756276616e612d434d532f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://github.com/Pubvana-CMS/themes/graphs/contributors)[![Latest Release](https://camo.githubusercontent.com/8c51490b359f60be4af265bd7f171436e7b491626647d85ac3b48cb6b7ced284/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f50756276616e612d434d532f7468656d65733f7374796c653d666f722d7468652d6261646765)](https://github.com/Pubvana-CMS/themes/releases)[![Contributions Welcome](https://camo.githubusercontent.com/9db3f8b82ea88469efd296a9305fc00f40b4c9450bb6b539d42d339fa6963444/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f6e747269627574696f6e732d77656c636f6d652d626c75653f7374796c653d666f722d7468652d6261646765)](https://github.com/Pubvana-CMS/themes/pulls)

Pubvana Themes
==============

[](#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
------------

[](#related-docs)

- Project docs index: [docs/README.md](../../../docs/README.md)
- Pubvana architecture: [docs/PUBVANA-ARCHITECTURE.md](../../../docs/PUBVANA-ARCHITECTURE.md)
- Package conventions: [docs/PLUGIN-ARCHITECTURE.md](../../../docs/PLUGIN-ARCHITECTURE.md)

Features
--------

[](#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
------------

[](#requirements)

- PHP ^8.1
- enlivenapp/flight-school ^0.2
- enlivenapp/flight-shield
- enlivenapp/migrations
- flightphp/active-record ^0.7
- pubvana/admin

Installation
------------

[](#installation)

```
composer require pubvana/themes
```

Enable in `app/config/config.php`:

```
'plugins' => [
    'pubvana/themes' => [
        'enabled'  => true,
        'priority' => 50,
    ],
],
```

Flight School config
--------------------

[](#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
-------

[](#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
-----

[](#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
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance94

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

5

Last Release

33d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3036663?v=4)[Mike W](/maintainers/enlivenapp)[@enlivenapp](https://github.com/enlivenapp)

---

Top Contributors

[![enlivenapp](https://avatars.githubusercontent.com/u/3036663?v=4)](https://github.com/enlivenapp "enlivenapp (5 commits)")

### Embed Badge

![Health badge](/badges/pubvana-themes/health.svg)

```
[![Health](https://phpackages.com/badges/pubvana-themes/health.svg)](https://phpackages.com/packages/pubvana-themes)
```

###  Alternatives

[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

744284.3k34](/packages/civicrm-civicrm-core)[verbb/formie

The most user-friendly forms plugin for Craft.

100387.6k57](/packages/verbb-formie)[getdkan/dkan

DKAN Open Data Catalog

387137.8k2](/packages/getdkan-dkan)[oat-sa/tao-core

TAO core extension

66140.1k108](/packages/oat-sa-tao-core)[fisharebest/webtrees

webtrees online genealogy

77216.0k18](/packages/fisharebest-webtrees)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1715.6k12](/packages/2lenet-crudit-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
