#85: Componentized CSS using CSSRegistry
- Proposed by
- Geir Bækholt
- Seconded by
- Alexander Limi
- Proposal type
- User interface, Architecture
- Repository branch
- uiteam-plip85-componentized-css
- State
- completed
Motivation
There are a few problems with the default way layout is done in Plone right now - there should be a good way to do the following:
- Add site-wide CSS from an add-on product.
- Make
plone.csslighter and split it into several components - it is currently a big, monolithic CSS file of 1500+ lines. - Layout customization should be able to override the existing CSS properties instead of starting from scratch, currently there is no way to disable parts of the CSS.
- You should be able to have TAL conditions on specific parts of the CSS
- You should be able to deliver all the different media style sheets in one CSS file with inline CSS selectors.
- All of the above apply for Javascript as well, with the JSRegistry
Proposal
- Implement CSSRegistry tool that lets you do the technical part of this.
- Split up plone.css in logical groupings.
- split plone_javascripts.js by function or functionality
- Let Plone ship with CSSRegistry, JSRegistry and the new CSS/JS
Implementation
Create the CSS/JS-registry (done, Geir/Matt)
Split the plone stylesheets into parts (Limi)
Split the plone javascripts into parts (Geir)
Migrations/installation for Plone 2.1 (Geir)
Progress log
The CSS/JS Registries are built, stable, and have 60+ unittests. It is ready for deployment, but can still benefit from the occasional tweak.
Geir is adding ordering support, Alexander is currently deconstructing the CSS.
Participants
- Matt Hamilton (CSSRegistry)
- Geir Bækholt (CSSegistry, JS-reorganisation, Merging)
- Alexander Limi (CSS reorganization)