sass-site/old_source/ruby-sass.html.haml

60 lines
2.4 KiB
Plaintext
Raw Normal View History

2018-03-17 00:51:10 +01:00
---
2019-03-04 22:57:56 +01:00
title: Ruby Sass
introduction: >
Ruby Sass was the original implementation of Sass, but it reached its end of
life as of 26 March 2019. It's no longer supported, and Ruby Sass users should
migrate to another implementation.
2018-10-24 00:06:39 +02:00
---
2018-03-17 00:51:10 +01:00
%ul.list-columns
%li
:markdown
2019-12-13 04:26:12 +01:00
## But Why?
2018-03-17 00:51:10 +01:00
When Natalie and Hampton first created Sass in 2006, Ruby was the language
at the cutting edge of web development, the basis of their
already-successful [Haml][] templating language, and the language they
used most in their day-to-day work. Writing Sass in Ruby made it readily
available to their existing users and the whole booming Ruby ecosystem.
2018-03-17 00:51:10 +01:00
[Haml]: http://haml.info/
2018-03-17 00:51:10 +01:00
Since then, Node.js has become ubiquitous for frontend tooling while Ruby
has faded into the background. At the same time, Sass projects have grown
far larger than we initially envisioned them, and their performance needs
have outpaced the speed Ruby can provide. Both [Dart Sass][] and
[LibSass][] are blazing fast, easy to install, and are readily available
on npm. Ruby Sass couldn't keep up, and it didn't make sense to spend the
core team's resources on it any longer.
2018-03-17 00:51:10 +01:00
[Dart Sass]: #{url_for "/dart-sass"}
[LibSass]: #{url_for "/libsass"}
2018-03-17 00:51:10 +01:00
%li
:markdown
2019-12-13 04:26:12 +01:00
## Migrating Away
2018-03-17 00:51:10 +01:00
If you run Ruby Sass using the command-line `sass` executable, all you
need to do is install Dart Sass's [command-line executable][install]
instead. The interface isn't identical, but most options work the same
way.
[install]: #{url_for "/install"}
2018-03-17 00:51:10 +01:00
If you use the `sass` gem as a library, the [`sassc`][] gem is the most
seamless way to move away from Ruby Sass. It uses [LibSass][] to provide
the same API for compiling Sass and defining custom functions as Ruby
Sass, except that it uses the `SassC` module instead of `Sass`. However,
it [doesn't yet][sassc#72] support the same `Importer` API. You can also
use the [`sassc-rails`][] gem to plug smoothly into Ruby on Rails.
[`sassc`]: http://rubygems.org/gems/sassc
[LibSass]: #{url_for "/libsass"}
2018-03-17 00:51:10 +01:00
[sassc#72]: https://github.com/sass/sassc-ruby/issues/72
[`sassc-rails`]: https://rubygems.org/gems/sassc-rails
Alternately, if you're using a JS build system, you can integrate that
with [Dart Sass][] as a JavaScript library.
[Dart Sass]: #{url_for "/dart-sass"}