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 <
gdelhumeau(a)xwiki.com> 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 (gdelhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the
XWiki.org project
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs