PHPackages                             kaystrobach/dyncss - 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. kaystrobach/dyncss

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

kaystrobach/dyncss
==================

Compile your CSS dynamically with DynCss Adapters.

1.0.1(5y ago)839.6k28[5 issues](https://github.com/kaystrobach/TYPO3.dyncss/issues)[5 PRs](https://github.com/kaystrobach/TYPO3.dyncss/pulls)4GPL-2.0+PHP

Since Aug 18Pushed 1y ago3 watchersCompare

[ Source](https://github.com/kaystrobach/TYPO3.dyncss)[ Packagist](https://packagist.org/packages/kaystrobach/dyncss)[ Docs](http://donate.kay-strobach.de/)[ RSS](/packages/kaystrobach-dyncss/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (1)Versions (15)Used By (4)

[![](https://camo.githubusercontent.com/23737b7a679ca7dd0726f33ef58e546aac9a0182580d40ba44520e28c730da13/68747470733a2f2f656e6a6f792e67697473746f72652e6170702f7265706f7369746f726965732f62616467652d6b61797374726f626163682f5459504f332e64796e6373732e737667)](https://enjoy.gitstore.app/repositories/kaystrobach/TYPO3.dyncss)

Less in general
===============

[](#less-in-general)

The parser libs may ship dedicated information based on the language you want to use.

Frontend
========

[](#frontend)

Example TYPOScript:

```
page.includeCSS.testLess = EXT:dyncss_test/Resources/Public/Stylesheets/Example.less

```

Example Overrides (dynamic color settings, dynamic image overrides):

```
plugin.tx_dyncss {
	register = LOAD_REGISTER
	register {
		inputColor1.cObject = TEXT
		inputColor1.cObject {
			value = {$lessColorScheme}
			split {
				token.char = 124
				returnKey = 0
			}
		}
		inputColor2 < .inputColor1
		inputColor2.cObject.split.returnKey = 1
	}
	overrides {
		inputColor1 = TEXT
		inputColor1 {
			data = register:inputColor1
		}
		inputColor2 = TEXT
		inputColor2 {
			data = register:inputColor2
		}
		logo = IMG_RESOURCE
		logo {
			stdWrap.wrap = url("|")
			file = GIFBUILDER
			file {
				XY = [20.w],[20.h]
				20 = IMAGE
				20.file = GIFBUILDER
				20.file {
					XY = 128,22
					backColor.data = register:inputColor1
				}
				20.mask = EXT:example/css/colors/less/images/logo_sw.png
			}
		}
	}
	registerReset = RESTORE_REGISTER
}

```

Example less file:

```
	@linkColor: blue;
	@logo: url(someWeirdUrl);

	a {
		color: @linkColor;
	}

	h1 {
		a {
			color: lighten(@linkColor, 20%);
		}
	}
	#logo {
		background-image:@logo
	}
```

Backend: Include in backend.php
===============================

[](#backend-include-in-backendphp)

To see how it works, please take a look into dyncss\_test.

Caching
=======

[](#caching)

In production mode, CSS is only re-rendered if the topmost less or sass file, which is directly included by typoscript, is altered.
In development mode, also changes in files that are imported inside a less or sass file trigger a new rendering.
Development mode is triggered either by TYPO3 application context "Development" or by the preset "Development" in the install tool. Additionally rerendering will happen if you change TS values, which are used in the less files.

Additionally we add a new clear cache button to just clear the dyncss cache.

[![dyncss clear cache](Documentation/Images/clearcache.png)](Documentation/Images/clearcache.png)

Source maps
===========

[](#source-maps)

If the compiling library supports source maps, you can enable that feature by enabling the debug mode of dyncss in the extensionmanager settings.

Normally the source maps are appended to the generated css files, to avoid confusion.

**IMPORTANT**

You need to disable css concatenation to get the sourcemaps working.

This can be done with the following TS based on your environment:

```
themes.configuration.css.concatenate = 0
page.config.concatenateCss = 0

```

[![sourcemap](Documentation/Images/sourcemap.png)](Documentation/Images/sourcemap.png)

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community31

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 81.4% 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 ~214 days

Recently: every ~241 days

Total

9

Last Release

1892d ago

Major Versions

0.9.0 → 1.0.02021-01-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/3c6681704a769ab93a20ba54d94054d0f3f1e81b99341e8cfa29d91f6d8f16fb?d=identicon)[kaystrobach](/maintainers/kaystrobach)

---

Top Contributors

[![kaystrobach](https://avatars.githubusercontent.com/u/1185776?v=4)](https://github.com/kaystrobach "kaystrobach (96 commits)")[![achimfritz](https://avatars.githubusercontent.com/u/2152991?v=4)](https://github.com/achimfritz "achimfritz (2 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (2 commits)")[![kersten](https://avatars.githubusercontent.com/u/487289?v=4)](https://github.com/kersten "kersten (2 commits)")[![tdeuling](https://avatars.githubusercontent.com/u/1298841?v=4)](https://github.com/tdeuling "tdeuling (2 commits)")[![woodyc79](https://avatars.githubusercontent.com/u/1710712?v=4)](https://github.com/woodyc79 "woodyc79 (1 commits)")[![dmh](https://avatars.githubusercontent.com/u/5150636?v=4)](https://github.com/dmh "dmh (1 commits)")[![fritzdacat](https://avatars.githubusercontent.com/u/5744779?v=4)](https://github.com/fritzdacat "fritzdacat (1 commits)")[![hensoko](https://avatars.githubusercontent.com/u/13552930?v=4)](https://github.com/hensoko "hensoko (1 commits)")[![anjeylink](https://avatars.githubusercontent.com/u/11900120?v=4)](https://github.com/anjeylink "anjeylink (1 commits)")[![TehTux](https://avatars.githubusercontent.com/u/5694383?v=4)](https://github.com/TehTux "TehTux (1 commits)")[![marcoseiler](https://avatars.githubusercontent.com/u/13045727?v=4)](https://github.com/marcoseiler "marcoseiler (1 commits)")[![philipp-winterle](https://avatars.githubusercontent.com/u/633711?v=4)](https://github.com/philipp-winterle "philipp-winterle (1 commits)")[![pixelplant](https://avatars.githubusercontent.com/u/492082?v=4)](https://github.com/pixelplant "pixelplant (1 commits)")[![pniederlag](https://avatars.githubusercontent.com/u/85458?v=4)](https://github.com/pniederlag "pniederlag (1 commits)")[![somedia-mkohler](https://avatars.githubusercontent.com/u/23209208?v=4)](https://github.com/somedia-mkohler "somedia-mkohler (1 commits)")[![Anubiso](https://avatars.githubusercontent.com/u/7769367?v=4)](https://github.com/Anubiso "Anubiso (1 commits)")[![arnekolja](https://avatars.githubusercontent.com/u/178206?v=4)](https://github.com/arnekolja "arnekolja (1 commits)")[![baschte](https://avatars.githubusercontent.com/u/9203613?v=4)](https://github.com/baschte "baschte (1 commits)")

---

Tags

dyncss

### Embed Badge

![Health badge](/badges/kaystrobach-dyncss/health.svg)

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

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40529.5k](/packages/wazum-sluggi)[typo3/cms-scheduler

TYPO3 CMS Scheduler - Schedule tasks to run once or periodically at a specific time.

169.3M231](/packages/typo3-cms-scheduler)[typo3/cms-lowlevel

TYPO3 CMS Lowlevel - Technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.

178.2M316](/packages/typo3-cms-lowlevel)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.4M80](/packages/typo3-cms-redirects)[typo3/cms-form

TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.

147.6M265](/packages/typo3-cms-form)

PHPackages © 2026

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