Feature #3725

CSS Engine

Added by Sebastian Kurfuerst over 12 years ago. Updated almost 8 years ago.

Could have
Target version:
Start date:
Due date:
% Done:


Estimated time:
Has patch:


It would be great to have a CSS engine like lesscss, or integrate css cacheer.


This idea was originally proposed by Jens Hoffmann, and I think it can be fully realized as ViewHelpers.



Updated by Christian Müller over 12 years ago

  • Assignee set to Christian Müller

I will try to convert the CSS Cacheer into a ViewHelper. LessCSS looks nice (especially syntax) but all the features are also in CSS Cacheer and it seems easier to me, because it is already PHP. Maybe we can transfer the syntax to CSS Cacheer in a second step.


Updated by Sebastian Kurfuerst over 12 years ago

  • Target version set to 1.0

Hi Christian,
that sounds really like a good plan! I'd suggest you'd develop the ViewHelper for FLOW3 first, and then we'll see if we can include it in the automatic backporting.



Updated by Robert Lemke over 12 years ago

  • Target version deleted (1.0)

Updated by Sebastian Kurfuerst over 10 years ago

  • Tracker changed from Feature to Story
  • Priority changed from Should have to Could have

Updated by Sebastian Kurfuerst over 10 years ago

  • Tracker changed from Story to Feature

Updated by Jacob Floyd over 9 years ago

If you're going to make a "CSS Engine", make an interface type thing that makes it easy to implement other css pre-processors as well. I've seen both LESS and SASS used by various TYPO3 community members. Cacheer might be interesting too.

I'd imagine that the ViewHelper could either process stuff itself (allowing for inclusion of Fluid Variables and other ViewHelpers) or just pass the files off to an external processor (maybe a command line utility for less or sass), or maybe it could include a javascript file to compile the css in Developer context, but it pre-compiles the css in production context.

How would that work? I dunno. Maybe one of these (or some combination):
everything in a directory:

<f:css directory="Resource://Private/Stylesheets/less/" type="less"/>
<f:less directory="Resource://Private/Stylesheets/less/"/>
<f:sass directory="Resource://Private/Stylesheets/sass/"/>
<f:css.less directory="Resource://Private/Stylesheets/less/"/>
<f:css.sass directory="Resource://Private/Stylesheets/sass/"/>

Or per file:
<f:css resource="Resource://Private/Stylesheets/less/layout.less" type="less"/>
<f:less directory="Resource://Private/Stylesheets/less/layout.less"/>
<f:sass directory="Resource://Private/Stylesheets/sass/layout.scss"/>
<f:css.less directory="Resource://Private/Stylesheets/less/layout.less"/>
<f:css.sass directory="Resource://Private/Stylesheets/sass/layout.scss"/>

Or included directly
    propertyName: {myCoolFluidVariable};
    propertyName: propertyValue;
    propertyName: propertyValue;

I think I like the "css.{engine}" syntax best - it feels most FLOW3ish. css.less, css.sass, css.cacheer...


Updated by Jacob Floyd over 9 years ago

Or, instead of using:


Perhaps this would make more sense:


Updated by Lorenz Ulrich almost 8 years ago

Has there been any progress on this feature?


Updated by Christian Müller almost 8 years ago

  • Has patch set to No

No this could be tackled again after the reworked resource management is merged. https://review.typo3.org/#/q/status:open+topic:resource-management,n,z

Also available in: Atom PDF