Hi, +1 for the first variant: a new property inside SSX Regarding compatibility with older skins, I'm curious if I can use LESS for older skins. Use case: If I have an old application with an existing ssx and I want to adapt the style to be more Flamingo like: - I would keep the current ssx and I would prefix all the css with a .skin-colibri { .... } - this means I would need the ssx to be processed with LESS (in order to automaticaly add the skin prefix for all selectors) - but I wouldn't need any of the new FlamingoThemes variables (since Colibri doesn't know about them). So I assume I don't add any FlamingoTheme variables in my ssx - some ssx might use old ColorTheme variables, so the ssx needs to be parsable. So the question is: would we be able to use LESS even for old ssx? Thanks, Caty On Thu, Dec 11, 2014 at 11:20 AM, Guillaume "Louis-Marie" Delhumeau < [email protected]> wrote:
Hi.
Since the beginning of the week, I am working to have the LESS pre-processor inside our Skin Extension objects (see: http://jira.xwiki.org/browse/XWIKI-10708). It would enable us to use the Flamingo Theme variables and all bootstrap's mixins inside SSX (see http://jira.xwiki.org/browse/XWIKI-11374). Example of use-case: http://jira.xwiki.org/browse/XWIKI-11408 (Menu Application: Improve default look to make it better-looking with the Flamingo skin).
I have created a design page there for the details: http://design.xwiki.org/xwiki/bin/view/Proposal/LESSModuleImprovements
I propose to add a new property inside the XWiki.StyleSheetExtension class which will be called "CSS preprocessor". The actual possible values would be "LESS" or "none", but in the future we can imagine having "SASS" or anything else. Then I propose to change the actual SSX action to perform a LESS compilation if needed. Note that the user would still be able to use or not Velocity in addition of the CSS preprocessor.
The other possibilities (that are not part of this proposal) are to create a new XWiki.LESSStyleSheetExtension and a new LSSX action which would behave exactly as the previous objet and action, or to have the ability to choose the processor directly inside the SSX content, with a special line like "# preprocessor = less" or something like that.
I have made a prototype that is working ( https://github.com/xwiki/xwiki-platform/tree/feature-less-ssx) and I am taking care of the compatibility with older skins that do not use LESS (Colibri for instance).
Here is my +1. I would like to commit it today to have it in 6.4M2. I have done a lot of refactoring on the LESS module (with a better cache system among other things) that I don't want to commit in a release candidate.
Thanks, -- Guillaume Delhumeau ([email protected]) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs