Sass Blog
Page 6 of 8
Dart Sass is in Beta
Posted 5 June 2017 by Natalie Weizenbaum
Last weekend was three days long and the weather in Seattle was gorgeous. Contrary to stereotype, spring here is often characterized by bright sunny days that aren’t too hot, and on days like that I love to curl up on the armchair in my living room and write some code. This weekend, that meant finishing up the last few outstanding @extend
bugs, finally making Dart Sass fully sass-spec compatible1.
This is the milestone we’ve decided would mark the transition from alpha to beta releases of Dart Sass. Dart Sass 1.0.0-beta.1 is up now on npm, pub, and Chocolatey, and I encourage people to start trying it out in their own applications. We’ve fixed all the bugs we know about, so now we need our diligent users to find the rest of them and tell us!
Next Steps: Ruby Sass permalinkNext Steps: Ruby Sass permalink Next Steps: Ruby Sass permalinkNext Steps: Ruby Sass
There are a number of intentional behavior differences between Dart Sass and the existing implementations. All of these differences are things we think improve the language, and many of them…
Sass and Browser Compatibility
Posted 11 February 2017 by Natalie Weizenbaum
One of the core design principles of Sass has always been to understand CSS as little as possible. As a CSS preprocessor of course we have to understand the syntax of CSS, but as much as we can we try to avoid caring about the semantics—the meaning behind the styles. This means that Sass has no idea which properties are valid, which HTML elements actually exist, or even to a large extent what the syntax of most @-rules is.
We get a lot of benefit from this. The less built-in knowledge Sass has about CSS, the less likely it is to work poorly with new CSS features. Imagine having to file a feature request every time you want to use a new CSS property—that would suck! Instead, older versions of Sass will happily keep working unless the actual syntax changes, which is much rarer.
Because of this decoupling, we’ve never needed to worry much about browser compatibility. Sass just passes whatever CSS its given on through. It’s up to the user to determine what works where, which gives them…
Dart Sass is On Chocolatey
Posted 13 January 2017 by Natalie Weizenbaum
One of the quieter benefits of moving to Dart is how easy it is to distribute Dart applications. The Dart VM is able to bundle all the sources for an application into one easy-to-load binary snapshot, which means running a Dart application requires only three files: the dart
executable, the snapshot file, and a tiny shell script to invoke the app1. This is a huge relief coming from Ruby, which required a whole installation of executables and libraries in order to run a single app.
Those three files are what we distribute today on our GitHub release page. But finding, downloading, and opening an archive and adding it to the command-line path is still a barrier to entry that we’d like to avoid where possible. Today we’re taking a step in that direction by releasing a Dart Sass package on Chocolatey, the Windows package manager. You can install it now using:
$ choco install sass -prerelease
This will give you a sass
executable that runs Dart Sass on the (really fast) Dart VM.
A large…
Announcing Dart Sass
Posted 31 October 2016 by Natalie Weizenbaum
Over the past few months, I’ve been quietly working on a new project. Today I’m ready to announce Dart Sass to the world. It’s a totally new implementation of Sass, designed to be fast, easy to install, and easy to hack on. It’s not yet complete—I’m steadily working my way through sass-spec—so today I’m just releasing version 1.0.0-alpha.1. But it’s solid enough for you to download, play with, and start filing issues.
You can download a standalone archive from the release page—just extract it, add the folder to your path, and run dart-sass
. Dart also compiles to JavaScript, so if you have npm installed you can install the JS version by running npm install -g dart-sass
. And, if you happen to be a Dart user yourself, you can install it using pub global install sass
.
Why Rewrite Sass? permalinkWhy Rewrite Sass? permalink Why Rewrite Sass? permalinkWhy Rewrite Sass?
Over the past few years, there have been two primary implementations of Sass. Ruby Sass was the original, written mostly by me with substantial help from Chris. It’s high-level…
Sass 3.5 Release Candidate
Posted 30 August 2016 by Natalie Weizenbaum
I’ve just pushed the button to release Sass 3.5.0-rc.1. If it seems like it’s been a while since the last release, that’s true! But there’s a good reason. We decided to enter feature freeze after the 3.5 release to give libsass, the super-speedy C++ implementation of Sass, time to reach feature parity with Sass 3.4. Libsass is much younger than Sass, and C++ is generally a slower language to work in than Ruby, so this took some time. But it paid off: libsass is now almost 100% compatible with Ruby Sass, differing only in a few small bugs.
After the feature freeze lifted, we were primarily focused on designing the new module system that will be the central feature of Sass 4.0. But we also found some time to add some new features, which are the focus of this release.
CSS Custom Property Support permalinkCSS Custom Property Support permalink CSS Custom Property Support permalinkCSS Custom Property Support
Sass 3.5 now fully supports CSS custom properties. These posed a particular challenge for us, since the custom property syntax is extremely broad. You can…