sass-site/source/libsass.html.haml

192 lines
6.0 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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