mirror of
https://github.com/danog/sass-site.git
synced 2024-12-11 08:59:51 +01:00
192 lines
6.0 KiB
Plaintext
192 lines
6.0 KiB
Plaintext
---
|
||
title: LibSass
|
||
---
|
||
|
||
%p.introduction
|
||
We want everyone to enjoy Sass, no matter what language they use. Sass was
|
||
originally written in Ruby. LibSass is a C/C++ port of the Sass engine. The
|
||
point is to be simple, faster, and easy to integrate. Find out more about the
|
||
project over at
|
||
= succeed "." do
|
||
= link_to "GitHub", "http://github.com/sass/libsass"
|
||
|
||
:markdown
|
||
## Wrappers
|
||
|
||
LibSass is just a library. To run the code locally (i.e. to compile your
|
||
stylesheets), you need an implementer, or "wrapper". There are a number of
|
||
other wrappers for LibSass. We encourage you to write your own wrapper - the
|
||
whole point of LibSass is that we want to bring Sass to many other languages,
|
||
not just Ruby!
|
||
|
||
Below are the LibSass wrappers that we're currently aware of. Sometimes there
|
||
are multiple wrappers per language – in those cases, we put the most
|
||
recently-updated wrapper first.
|
||
|
||
%ul.slides
|
||
%li#sassc
|
||
:markdown
|
||
### Sass C
|
||
|
||
[SassC](https://github.com/sass/sassc) (get it?) is a wrapper written in
|
||
C.
|
||
|
||
To run the compiler on your local machine, you need to build SassC. To
|
||
build SassC, you must have either a local copy of the LibSass source or it
|
||
must be installed into your system. For development, please use the source
|
||
version. You must then setup an environment variable pointing to the
|
||
LibSass folder, for example:
|
||
|
||
~ partial "code-snippets/libsass-setup"
|
||
|
||
%p
|
||
The executable will be in the bin folder. To run it, simply try something
|
||
like:
|
||
|
||
~ partial "code-snippets/libsass-execute"
|
||
|
||
%li#crystal
|
||
:markdown
|
||
### Crystal
|
||
[sass.cr](https://github.com/straight-shoota/sass.cr)
|
||
is a LibSass wrapper for the
|
||
[Crystal programming language](https://crystal-lang.org/).
|
||
|
||
%li#go
|
||
:markdown
|
||
### Go
|
||
[Wellington](https://github.com/wellington/wellington) is an extension to
|
||
LibSass that adds spriting and is available on brew:
|
||
|
||
`brew install wellington`
|
||
|
||
There are also three other LibSass wrappers in Go:
|
||
[gosass](https://github.com/moovweb/gosass),
|
||
[go-sass](https://github.com/SamWhited/go-sass) and
|
||
[go_sass](https://github.com/suapapa/go_sass) which have not been updated
|
||
in a while.
|
||
|
||
%li#java
|
||
:markdown
|
||
### Java
|
||
There is one Java wrapper – [jsass](https://github.com/bit3/jsass).
|
||
There is also a plugin for Maven -
|
||
[LibSass Maven plugin](https://github.com/warmuuh/libsass-maven-plugin).
|
||
|
||
%li#javascript
|
||
:markdown
|
||
### JavaScript
|
||
The [sass.js](https://github.com/medialize/sass.js) project makes
|
||
LibSass available as pure JavaScript. There's a way to [test it in the
|
||
browser](http://medialize.github.io/playground.sass.js/), too.
|
||
|
||
%li#lua
|
||
:markdown
|
||
### Lua
|
||
The Lua wrapper is found at
|
||
[lua-sass](https://github.com/craigbarnes/lua-sass).
|
||
|
||
%li#net
|
||
:markdown
|
||
### .NET
|
||
[libsass-net](https://github.com/darrenkopp/libsass-net) is updated
|
||
regularly, and is probably the best bet. There's also
|
||
[NSass](https://github.com/TBAPI-0KA/NSass), although it hasn't been
|
||
updated in a while.
|
||
|
||
%li#node
|
||
:markdown
|
||
### Node
|
||
The [node-sass](https://github.com/sass/node-sass) project has proven to
|
||
be popular, and we've taken it into the main Sass GitHub repo. Check out
|
||
its package page [here](https://www.npmjs.org/package/node-sass), and
|
||
[there's a dedicated twitter account](https://twitter.com/nodesass) for
|
||
updates.
|
||
|
||
%li#perl
|
||
:markdown
|
||
### Perl
|
||
The [CSS::Sass](https://github.com/sass/perl-libsass) project is updated
|
||
regularly. There's the
|
||
[Text-Sass-XS](https://github.com/ysasaki/Text-Sass-XS) project, too,
|
||
although it hasn't been updated in a while.
|
||
|
||
%li#php
|
||
:markdown
|
||
### PHP
|
||
The [SassPHP](https://github.com/sensational/sassphp) project is an
|
||
updated fork of an
|
||
[older PHP version](https://github.com/jamierumbelow/sassphp).
|
||
|
||
%li#python
|
||
:markdown
|
||
### Python
|
||
There are two Python projects that are updated regularly. The
|
||
[libsass-python](https://github.com/dahlia/libsass-python) project (there
|
||
are more details on
|
||
[its own website](http://hongminhee.org/libsass-python/)) and the
|
||
[python-scss](https://github.com/pistolero/python-scss) project.
|
||
|
||
Two other Python projects,
|
||
[pylibsass](https://github.com/rsenk330/pylibsass) and
|
||
[SassPython](https://github.com/marianoguerra/SassPython), haven't been
|
||
updated in a while.
|
||
|
||
|
||
%li#ruby
|
||
:markdown
|
||
### Ruby
|
||
LibSass has also been ported back into Ruby for the
|
||
[sassc-ruby](https://github.com/sass/sassc-ruby) project.
|
||
|
||
%li#rust
|
||
:markdown
|
||
### Rust
|
||
The [`sass_rs`](https://github.com/compass-rs/sass-rs) crate is a
|
||
LibSass wrapper and is updated regularly.
|
||
|
||
%li#scala
|
||
:markdown
|
||
### Scala
|
||
The only Scala project, [Sass-Scala](https://github.com/kkung/Sass-Scala),
|
||
hasn't been updated in a couple of years.
|
||
|
||
%h2 About LibSass
|
||
|
||
:markdown
|
||
This project is the brainchild of
|
||
[Hampton Catlin](http://twitter.com/hcatlin), the original creator of Sass,
|
||
and is sponsored by [Moovweb](http://moovweb.com/).
|
||
[Aaron Leung](http://github.com/akhleung) from Moovweb is the primary
|
||
developer.
|
||
|
||
%figure
|
||
= image_tag "logos/libsass.png", alt: "LibSass logo"
|
||
|
||
- content_for :complementary do
|
||
%h3 Wrappers
|
||
%ul.anchors
|
||
%li= link_to "SassC", "#sassc"
|
||
%li= link_to "Crystal", "#crystal"
|
||
%li= link_to "Go", "#go"
|
||
%li= link_to "Java", "#java"
|
||
%li= link_to "JavaScript", "#javascript"
|
||
%li= link_to "Lua", "#lua"
|
||
%li= link_to ".NET", "#net"
|
||
%li= link_to "Node", "#node"
|
||
%li= link_to "Perl", "#perl"
|
||
%li= link_to "PHP", "#php"
|
||
%li= link_to "Python", "#python"
|
||
%li= link_to "Ruby", "#ruby"
|
||
%li= link_to "Scala", "#scala"
|
||
|
||
|
||
%h3 Resources
|
||
|
||
%ul
|
||
- for project in data.libsass.resources
|
||
%li
|
||
= link_to project.name, project.url
|
||
—
|
||
= project.description
|