Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A C/C++ implementation of a Sass compiler
C++ C Shell Other

Merge pull request #1411 from xzyfer/fix/windows-warning

Use namespaces for code clarity
latest commit 295b1523b2
@xzyfer xzyfer authored
Failed to load latest commit information.
contrib Refactor custom function/importer signatures
include Fix a few obvious code issues
m4 Reorganize source files into sub-directories
res Fix build for mingw and dll linking
script Reorganize source files into sub-directories
src Merge pull request #1411 from xzyfer/fix/windows-warning
test Adds major refactoring of parser and eval step
win Fix a few MSVC warnings
.editorconfig Fix EditorConfig Makefile selector
.gitattributes Add gitattributes for line ending normalization
.gitignore Use GNUmakefile.am not to conflict with static Makefile
.travis.yml Fix memory access bug (Fixes Mac CI builds)
COPYING Add autotools config
GNUmakefile.am Use GNUmakefile.am not to conflict with static Makefile
INSTALL we dont follow those install rules
LICENSE Move read me and license out of the source
Makefile Remove pointer compare functions
Makefile.conf Reorganize source files into sub-directories
Readme.md Properly capitalize LibSass
SECURITY.md Let people know how to report security bugs
appveyor.yml Reorganize source files into sub-directories
configure.ac Fix Makefile to create include directory on install
extconf.rb Restructuring the library to work as a more
version.sh Remove hard-coded version from autotools build

Readme.md

LibSass

by Aaron Leung (@akhleung) and Hampton Catlin (@hcatlin)

Linux CI Windows CI Bountysource Coverage Status Join us

https://github.com/sass/libsass

LibSass is just a library, but if you want to RUN LibSass, then go to https://github.com/sass/sassc or https://github.com/sass/ruby-libsass or find your local implementer.

LibSass requires GCC 4.6+ or Clang/LLVM. If your OS is older, this version may not compile.

On Windows, you need MinGW with GCC 4.6+ or VS 2013 Update 4+. It is also possible to build LibSass with Clang/LLVM on Windows.

About

LibSass is a C/C++ port of the Sass CSS precompiler. The original version was written in Ruby, but this version is meant for efficiency and portability.

This library strives to be light, simple, and easy to build and integrate with a variety of platforms and languages.

Developing

As you may have noticed, the LibSass repo itself has no executables and no tests. Oh noes! How can you develop???

Well, luckily, SassC is the official binary wrapper for LibSass and is always kept in sync. SassC uses a git submodule to include LibSass. When developing LibSass, its best to actually check out SassC and develop in that directory with the SassC spec and tests there.

We even run Travis tests for SassC!

Tests

Since LibSass is a pure library, tests are run through the SassSpec project using the SassC driver.

To run tests against LibSass while developing, you can run ./script/spec. This will clone SassC and Sass-Spec under the project folder and then run the Sass-Spec test suite. You may want to update the clones to ensure you have the latest version.

Library Usage

While LibSass is a library primarily written in C++, it provides a simple C interface which should be used by most implementers. LibSass does not do much on its own without an implementer. This can be a command line tool, like sassc or a binding to your favorite programing language.

If you want to build or interface with LibSass, we recommend to check out the wiki pages about building LibSass and the C-API documentation.

About Sass

Sass is a CSS pre-processor language to add on exciting, new, awesome features to CSS. Sass was the first language of its kind and by far the most mature and up to date codebase.

Sass was originally created by the co-creator of this library, Hampton Catlin (@hcatlin). The extension and continuing evolution of the language has all been the result of years of work by Natalie Weizenbaum (@nex3) and Chris Eppstein (@chriseppstein).

For more information about Sass itself, please visit http://sass-lang.com

Contribution Agreement

Any contribution to the project are seen as copyright assigned to Hampton Catlin, a human on the planet earth. Your contribution warrants that you have the right to assign copyright on your work. The intention here is to ensure that the project remains totally free (liberal, like).

Our MIT license is designed to be as simple, and liberal as possible.

sass2scss was originally written by Marcel Greter and he happily agreed to have it merged into the project.

Something went wrong with that request. Please try again.