<commit_before>---
title: LibSass
introduction: >
  LibSass is an implementation of Sass in C/C++, designed to be easy to
  integrate into many different languages. However, as time wore on it ended up
  lagging behind [Dart Sass](dart-sass) in features and CSS compatibility.
  **LibSass is now deprecated**—new projects should use Dart Sass instead.
---

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

    :markdown
      The executable will be in the bin folder. To run it, 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

      [go-libsass](https://github.com/wellington/go-libsass) has the most active
      GoLang wrapper. [gosass](https://github.com/moovweb/gosass) is another
      LibSass wrapper.

      [C6](https://github.com/c9s/c6) is a Sass 3.2 compatible implementation
      written in pure GoLang that aims to extend Sass.
      [wellington/sass](https://github.com/wellington/sass) is an in-progress
      pure Go Sass lexer, parser, and compiler.

  %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://gitlab.com/haynes/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 Host](https://github.com/Taritsyn/LibSassHost) is updated
      regularly, and is probably the best bet. There's also
      [libsass-net](https://github.com/darrenkopp/libsass-net) or [NSass](https://github.com/TBAPI-0KA/NSass),
      although they haven'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/absalomedia/sassphp) project is an
      updated fork of an [older PHP
      version](https://github.com/jamierumbelow/sassphp).

  %li#python
    :markdown
      ### Python
      The [libsass-python](https://github.com/sass/libsass-python) project
      is updated regularly. There are more details on
      [its own website](https://sass.github.io/libsass-python/).

      Three other Python projects,
      [python-scss](https://github.com/pistolero/python-scss),
      [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 [<NAME>](http://twitter.com/hcatlin), the original creator of Sass, and is
  sponsored by [Moovweb](http://moovweb.com/). [<NAME>](http://github.com/akhleung) from Moovweb is the primary developer.

%figure
  = image_tag 'logos/libsass.png', alt: 'LibSass logo'

- content_for :navigation do
  %h2 Wrappers

  .sl-c-list-navigation-wrapper
    :markdown
      - [SassC](#sassc)
      - [Crystal](#crystal)
      - [Go](#go)
      - [Java](#java)
      - [JavaScript](#javascript)
      - [Lua](#lua)
      - [.NET](#net)
      - [Node](#node)
      - [Perl](#perl)
      - [PHP](#php)
      - [Python](#python)
      - [Ruby](#ruby)
      - [Scala](#scala)

- content_for :complementary do
  %h2 Resources

  %ul
    - for project in data.libsass.resources
      %li
        = link_to project.name, project.url
        &mdash;<commit_msg>Add R - rstudio/sass (#499)<commit_after>---
title: LibSass
introduction: >
  LibSass is an implementation of Sass in C/C++, designed to be easy to
  integrate into many different languages. However, as time wore on it ended up
  lagging behind [Dart Sass](dart-sass) in features and CSS compatibility.
  **LibSass is now deprecated**—new projects should use Dart Sass instead.
---

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

    :markdown
      The executable will be in the bin folder. To run it, 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

      [go-libsass](https://github.com/wellington/go-libsass) has the most active
      GoLang wrapper. [gosass](https://github.com/moovweb/gosass) is another
      LibSass wrapper.

      [C6](https://github.com/c9s/c6) is a Sass 3.2 compatible implementation
      written in pure GoLang that aims to extend Sass.
      [wellington/sass](https://github.com/wellington/sass) is an in-progress
      pure Go Sass lexer, parser, and compiler.

  %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://gitlab.com/haynes/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 Host](https://github.com/Taritsyn/LibSassHost) is updated
      regularly, and is probably the best bet. There's also
      [libsass-net](https://github.com/darrenkopp/libsass-net) or [NSass](https://github.com/TBAPI-0KA/NSass),
      although they haven'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/absalomedia/sassphp) project is an
      updated fork of an [older PHP
      version](https://github.com/jamierumbelow/sassphp).

  %li#python
    :markdown
      ### Python
      The [libsass-python](https://github.com/sass/libsass-python) project
      is updated regularly. There are more details on
      [its own website](https://sass.github.io/libsass-python/).

      Three other Python projects,
      [python-scss](https://github.com/pistolero/python-scss),
      [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#r
    :markdown
      ### R

      The [R](https://www.r-project.org/) [Sass package](https://github.com/rstudio/sass) 
      wraps LibSass with additional caching and bundling methods. 
      [Extended documentation](https://rstudio.github.io/sass/).

  %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 [<NAME>](http://twitter.com/hcatlin), the original creator of Sass, and is
  sponsored by [Moovweb](http://moovweb.com/). [<NAME>](http://github.com/akhleung) from Moovweb is the primary developer.

%figure
  = image_tag 'logos/libsass.png', alt: 'LibSass logo'

- content_for :navigation do
  %h2 Wrappers

  .sl-c-list-navigation-wrapper
    :markdown
      - [SassC](#sassc)
      - [Crystal](#crystal)
      - [Go](#go)
      - [Java](#java)
      - [JavaScript](#javascript)
      - [Lua](#lua)
      - [.NET](#net)
      - [Node](#node)
      - [Perl](#perl)
      - [PHP](#php)
      - [Python](#python)
      - [R](#r)
      - [Ruby](#ruby)
      - [Scala](#scala)

- content_for :complementary do
  %h2 Resources

  %ul
    - for project in data.libsass.resources
      %li
        = link_to project.name, project.url
        &mdash;
{'fraction_non_alphanumeric': 0.12037714378606844, 'fraction_numerical': 0.0023571486629277412, 'mean_word_length': 2.7026783027384895, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 61, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '482288', 'n_tokens_mistral': 4176, 'n_tokens_neox': 3895, 'n_words': 1170}