PHPackages                             shel/neos-themebuilder - 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. shel/neos-themebuilder

ActiveNeos-plugin

shel/neos-themebuilder
======================

A plugin for NeosCMS which provides integrator/editor tools to define and use themes.

2.0.2(9mo ago)1352[1 issues](https://github.com/Sebobo/Shel.Neos.ThemeBuilder/issues)GPL-3.0PHPPHP &gt;=8.2

Since Aug 7Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/Sebobo/Shel.Neos.ThemeBuilder)[ Packagist](https://packagist.org/packages/shel/neos-themebuilder)[ RSS](/packages/shel-neos-themebuilder/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (12)Used By (0)

Theme builder for Neos CMS
==========================

[](#theme-builder-for-neos-cms)

This is a Neos CMS plugin for managing themes with CSS variables from the backend and for simplifying rendering of style attributes in AFX.

By defining theme properties in a NodeType mixin, these can be configured on the homepage or subpages and used to globally control your projects look &amp; feel, or to allow choosing styles for individual elements from the defined properties. Think of defining various colors, spacings, font sizes, etc. in a theme and using them in your project.

This results in a flexible way to provide freedom and yet consistency in the design of your project.

Features
--------

[](#features)

- Define theme properties by extending a common NodeType mixin with property presets
- Set theme properties in pages inheriting this mixin
- Use theme properties in other elements via property presets using an included data source
- Merged CSS variables for the current page are automatically rendered into the head of the document

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

[](#installation)

Install the package via composer in your site package:

```
composer require --no-update shel/neos-theme-builder
```

Then run `composer update shel/neos-theme-builder` in your project root.

It is suggested to also install `shel/neos-colorpicker` in the same way to have a color picker for the theme properties.

Usage
-----

[](#usage)

### Define theme properties

[](#define-theme-properties)

Add additional properties to your theme mixin NodeType:

```
Shel.Neos.ThemeBuilder:Mixin.PageTheme:
    properties:
        primaryColor:
            options:
                preset: 'themeBuilder.colorPicker'
            ui:
                label: 'Primary color'
                inspector:
                    group: 'themeMain'
```

Then extend your page NodeType with this mixin:

```
'Vendor.Site:Document.Page':
  superTypes:
    'Shel.Neos.ThemeBuilder:Mixin.PageTheme': true
```

Now you can set the primary color in the inspector tab with the sun icon of your page and use the value in your project via CSS variable `var(--primary-color)`. You can find all generated CSS variables in the head of your html document contained in a style tag.

By applying the mixin to any page you can also have local overrides for landing pages or other special pages.

### Use theme properties in other elements

[](#use-theme-properties-in-other-elements)

You can use the theme properties in other elements by using the `themeBuilder.colorSelector` preset.

Example:

```
'Vendor.Site:Content.MyComponent':
  properties:
    color:
      options:
          preset: 'themeBuilder.colorSelector'
      ui:
        label: 'Color'
```

This will render a select box in the inspector with all available colors from the theme properties.

Helpers
-------

[](#helpers)

### Generate CSS from props for style attributes

[](#generate-css-from-props-for-style-attributes)

Define styles f.e. as private prop in a component and use it in the AFX template:

```
prototype(My.Vendor:Content.MyComponent) < prototype(Neos.Fusion:Component) {
    myStyleProp = 'red'

    @private.style = Shel.Neos.ThemeBuilder:Helper.Styles {
        --my-prop = '20px'
        --my-prop-2 = ${props.myStyleProp}
        color = 'blue'
    }

    renderer = afx`
        Some test
    `
}

```

This will render the following HTML:

```
Some test
```

Note: Empty or `null` values will be filtered out automatically, so you don't need conditions for standard cases.

Contributions
-------------

[](#contributions)

Contributions are very welcome!

Please create detailed issues and PRs.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance53

Moderate activity, may be stable

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 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 ~58 days

Recently: every ~87 days

Total

11

Last Release

68d ago

Major Versions

0.1.1 → 1.0.02025-03-27

1.0.0 → 2.0.02025-03-27

1.0.2 → 2.0.22025-07-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c9f106db319e8698dcb4aedfe8034f0442d379ebbd78fcd67b884999b2236f1?d=identicon)[Sebobo](/maintainers/Sebobo)

---

Top Contributors

[![Sebobo](https://avatars.githubusercontent.com/u/596967?v=4)](https://github.com/Sebobo "Sebobo (18 commits)")

---

Tags

neosneoscmsthemethemeeditorNeosneoscmscolorpickerthemebuilder

### Embed Badge

![Health badge](/badges/shel-neos-themebuilder/health.svg)

```
[![Health](https://phpackages.com/badges/shel-neos-themebuilder/health.svg)](https://phpackages.com/packages/shel-neos-themebuilder)
```

###  Alternatives

[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

1494.4k6](/packages/shel-neos-colorpicker)[shel/neos-hyphens

A plugin for Neos CMS which provides hyphens for the inline editor

20200.7k1](/packages/shel-neos-hyphens)[shel/nodetypes-analyzer

Graphical analysis &amp; visualizer for the Neos CMS nodetypes as backend module

2160.6k](/packages/shel-nodetypes-analyzer)

PHPackages © 2026

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