Hi Guillaume,
This is not a domain I know well so maybe what I’ll say is not correct.. :)
What about keeping the exact same xobject structure as now but instead of considering the
content of the textarea to be plain text we consider it to be wiki syntax that is rendered
using our plaintext renderer.
This would allow use to use any more (including the {{velocity}} macro, {{include}} macro,
etc) but it also allows us to introduce some new {{less}} macro that would preprocess its
content and generate CSS.
This would also allow us to remove the “parse” option which tells us if we run velocity or
not (this is actually bad since we may want to run ruby, python, groovy, etc).
WDYT?
Thanks
-Vincent
On 11 Dec 2014 at 10:20:49, Guillaume Louis-Marie Delhumeau
(gdelhumeau@xwiki.com(mailto:gdelhumeau@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