I have to thank Bas for pushing over the edge into Less, and in the Bootstrap theme for 2.4 I created an additional custom folder under less where I keep the batch file to compile plus the extra CSS I want to add to my themes.
In 2.5, Bootstrap Base continues to support Less, but it's the parent theme, so I don't really want to load my custom folder (or css) into that theme - I want to keep it in my own Theme.
However, all the @include files assume that all the Less is in the Theme folder, not the parent folder.
Just a thought - how about changing the Less bootstrapbase files so that the Bootstrap + Moodle .less files compile on the assumption that all the includes are ../../bootstrapbase/less/bootstrap and ../../bootstrapbase/less/moodle.
There is no cost penalty for this change, it just means that any theme based on bootstrapbase, clean, shoestring, buckle, or anklebracelet (OK, I made that last one up) can compile less very simply with their own .less file in the theme.
For anyone who has yet to try less - you can get bootstrap minified CSS almost anywhere on the web, but it won't integrate properly with the Moodle code unless you use Less.
Other benefits of Less include the variables (for example,
@navbarBackground: #42a2ce;
@navbarBackgroundHighlight: @navbarBackground;
@navbarLinkBackgroundActive: @navbarBackground;
@dropdownBackground: @navbarBackground;
@dropdownLinkBackgroundHover: @navbarBackground;
@wellBackground: @navbarBackground ;
You only have to set one variable to an actual color, and then set all the other relevant / responsive equivalents to that variable so changing a color or style is suddenly so much easier.
Mixins and all sorts of other effects are also available - for example, I wanted a gentle hover effect on the bootstrap navbar, so I used:
color: darken(@textColor,5%) ;
background-color: darken(@navbarBackground,5%) ;
Now if I change the font color, I only make one change and don't have to go through the whole CSS file to find out what else is affected.
So Less does give us a lot more, and I would just like to make it a bit easier to generate new bootstrap responsive themes with Less without having to alter the core theme to do it.
Thanks for listening