[openstack-dev] [Horizon] RFC - Suggestion for switching from Less to Sass (Bootstrap 3 & Sass support)

Jiri Tomasek jtomasek at redhat.com
Thu Feb 6 11:56:25 UTC 2014


Hey,

Switching to SASS/Compass seems to me like a nice idea. Although reading 
Compass docs on using it in django/python projects [1], they recommend 
to serve compiled css in as output for production, so the production 
servers don't have to carry ruby/compass gems dependencies.

Also in django project development, you need to run "compass --watch" if 
you want scss to automatically compile and developers need to install 
ruby environment with necessary gems.

Switching to sass/compass is a good thing as it resolves the issue with 
nodejs dependency for less and also brings compass goodness into play. I 
think this solution is a bit rough for a python/django developer though.

Independently on whether we choose to stick with less or change to sass, 
we'll still need to add dependency (nodejs or ruby). What we need to 
consider is whether we want to compile css in production or not.

Recently mentioned solution of separating css and js into separate 
project that outputs compiled js and css comes into play. Problem with 
sass/compass here I see is that we'll probably need nodejs dependency 
for js tools like bower, grunt, js test suites etc. With sass/compass 
we'd need additional Ruby dependency.

Jirka



[1] http://compass-style.org/blog/2011/05/09/compass-django/


On 02/05/2014 08:23 PM, Gabriel Hurley wrote:
> I would imagine the downstream distros won't have the same problems with Ruby as they did with Node.js from a dependency standpoint, though it still doesn't jive with the community's all-Python bias.
>
> My real concern, though, is anyone who may have extended the Horizon stylesheets using the capabilities of LESS. There are lots of ways you can customize the appearance of Horizon, and some folks may have gone that route.
>
> My recommended course of action would be to think deeply on some recommended ways of "upgrading" from LESS to SASS for existing deployments who may have written their own stylesheets. Treat this like a feature deprecation (which is what it is).
>
> Otherwise, if it makes people's lives better to use SASS instead of LESS, it sounds good to me.
>
>      - Gabriel
>
>> -----Original Message-----
>> From: Jason Rist [mailto:jrist at redhat.com]
>> Sent: Wednesday, February 05, 2014 9:48 AM
>> To: OpenStack Development Mailing List (not for usage questions)
>> Subject: Re: [openstack-dev] [Horizon] RFC - Suggestion for switching from
>> Less to Sass (Bootstrap 3 & Sass support)
>>
>> On Wed 05 Feb 2014 09:32:54 AM MST, Jaromir Coufal wrote:
>>> Dear Horizoners,
>>>
>>> in last days there were couple of interesting discussions about
>>> updating to Bootstrap 3. In this e-mail, I would love to give a small
>>> summary and propose a solution for us.
>>>
>>> As Bootstrap was heavily dependent on Less, when we got rid of node.js
>>> we started to use lesscpy. Unfortunately because of this change we
>>> were unable to update to Bootstrap 3. Fixing lesscpy looks problematic
>>> - there are issues with supporting all use-cases and even if we fix
>>> this in some time, we might challenge these issues again in the future.
>>>
>>> There is great news for Bootstrap. It started to support Sass [0].
>>> (Thanks Toshi and MaxV for highlighting this news!)
>>>
>>> Thanks to this step forward, we might get out of our lesscpy issues by
>>> switching to Sass. I am very happy with this possible change, since
>>> Sass is more powerful than Less and we will be able to update our
>>> libraries without any constraints.
>>>
>>> There are few downsides - we will need to change our Horizon Less
>>> files to Sass, but it shouldn't be very big deal as far as we
>>> discussed it with some Horizon folks. We can actually do it as a part
>>> of Bootstrap update [1] (or CSS files restructuring [2]).
>>>
>>> Other concern will be with compilers. So far I've found 3 ways:
>>> * rails dependency (how big problem would it be?)
>>> * https://pypi.python.org/pypi/scss/0.7.1
>>> * https://pypi.python.org/pypi/SassPython/0.2.1
>>> * ... (other suggestions?)
>>>
>>> Nice benefit of Sass is, that we can use advantage of Compass
>>> framework [3], which will save us a lot of energy when writing (not
>>> just cross-browser) stylesheets thanks to their mixins.
>>>
>>> When we discussed on IRC with Horizoners, it looks like this is good
>>> way to go in order to move us forward. So I am here, bringing this
>>> suggestion up to whole community.
>>>
>>> My proposal for Horizon is to *switch from Less to Sass*. Then we can
>>> unblock our already existing BPs, get Bootstrap updates and include
>>> Compass framework. I believe this is all doable in Icehouse timeframe
>>> if there are no problems with compilers.
>>>
>>> Thoughts?
>>>
>>> -- Jarda
>>>
>>> [0] http://getbootstrap.com/getting-started/
>>> [1] https://blueprints.launchpad.net/horizon/+spec/bootstrap-update
>>> [2] https://blueprints.launchpad.net/horizon/+spec/css-breakdown
>>> [3] http://compass-style.org/
>>>
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> I think this is a fantastic idea. Having no experience with Less, but seeing that
>> it is troublesome - if we can use SASS/Compass, I'd be much more
>> comfortable with the switch. +1
>>
>> --
>> Jason E. Rist
>> Senior Software Engineer
>> OpenStack Management UI
>> Red Hat, Inc.
>> +1.919.754.4048
>> Freenode: jrist
>> github/identi.ca: knowncitizen
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list