Skip to content

Commit 093b28f

Browse files
committed
Reformatted and improved Readme.md
1 parent 27437bc commit 093b28f

File tree

1 file changed

+60
-57
lines changed

1 file changed

+60
-57
lines changed

Readme.md

Lines changed: 60 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,98 @@
1-
LibSass
2-
=======
1+
LibSass - Sass compiler written in C++
2+
======================================
33

4-
by Aaron Leung ([@akhleung]), Hampton Catlin ([@hcatlin]), Marcel Greter ([@mgreter]) and Michael Mifsud ([@xzyfer])
4+
Currently maintained by Marcel Greter ([@mgreter]) and Michael Mifsud ([@xzyfer])
5+
Originally created by Aaron Leung ([@akhleung]) and Hampton Catlin ([@hcatlin])
56

6-
[![Unix CI](https://travis-ci.org/sass/libsass.svg?branch=master)](https://travis-ci.org/sass/libsass)
7-
[![Windows CI](https://ci.appveyor.com/api/projects/status/github/sass/libsass?svg=true)](https://ci.appveyor.com/project/sass/libsass/branch/master)
8-
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=283068)](https://www.bountysource.com/trackers/283068-libsass?utm_source=283068&utm_medium=shield&utm_campaign=TRACKER_BADGE)
9-
[![Coverage Status](https://img.shields.io/coveralls/sass/libsass.svg)](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3)
10-
[![Join us](https://libsass-slack.herokuapp.com/badge.svg)](https://libsass-slack.herokuapp.com/)
7+
[![Unix CI](https://travis-ci.org/sass/libsass.svg?branch=master)](https://travis-ci.org/sass/libsass "Travis CI")
8+
[![Windows CI](https://ci.appveyor.com/api/projects/status/github/sass/libsass?svg=true)](https://ci.appveyor.com/project/sass/libsass/branch/master "Appveyor CI")
9+
[![Coverage Status](https://img.shields.io/coveralls/sass/libsass.svg)](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3 "Code coverage of spec tests")
10+
[![Percentage of issues still open](http://isitmaintained.com/badge/open/sass/libsass.svg)](http://isitmaintained.com/project/sass/libsass "Percentage of issues still open")
11+
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/sass/libsass.svg)](http://isitmaintained.com/project/sass/libsass "Average time to resolve an issue")
12+
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=283068)](https://www.bountysource.com/trackers/283068-libsass?utm_source=283068&utm_medium=shield&utm_campaign=TRACKER_BADGE "Bountysource")
13+
[![Join us](https://libsass-slack.herokuapp.com/badge.svg)](https://libsass-slack.herokuapp.com/ "Slack communication channels")
1114

12-
https://github.com/sass/libsass
1315

14-
LibSass is just a library, but if you want to RUN LibSass,
15-
then go to https://github.com/sass/sassc or
16-
https://github.com/sass/sassc-ruby or
17-
[find your local implementer](docs/implementations.md).
16+
[LibSass](https://github.com/sass/libsass "LibSass GitHub Project") is just a library!
17+
If you want to use LibSass to compile Sass, you need an implementer. Some
18+
implementations are only bindings into other programming languages. But most also
19+
ship with a command line interface (CLI) you can use directly. There is also
20+
[SassC](https://github.com/sass/sassc), which is the official lightweight
21+
CLI tool built by the same people as LibSass.
1822

19-
LibSass requires GCC 4.6+ or Clang/LLVM. If your OS is older, this version may not compile.
23+
### Excerpt of "sanctioned" implementations:
2024

21-
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.
25+
- https://github.com/sass/node-sass (Node.js)
26+
- https://github.com/sass/perl-libsass (Perl)
27+
- https://github.com/wellington/go-libsass (Go)
28+
- https://github.com/sass/sassc-ruby (Ruby)
29+
- https://github.com/sass/libsass-net (C#)
30+
- https://github.com/medialize/sass.js (JS)
31+
32+
This list does not say anything about the quality of either the listed or not listed [implementations](docs/implementations.md)!
33+
The authors of the listed projects above are just known to work regularly together with LibSass developers.
2234

2335
About
2436
-----
2537

26-
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.
27-
28-
This library strives to be light, simple, and easy to build and integrate with a variety of platforms and languages.
38+
LibSass is a C++ port of the original Ruby Sass CSS compiler with a [C API](docs/api-doc.md).
39+
We coded LibSass with portability and efficiency in mind. You can expect LibSass to be a lot
40+
faster than Ruby Sass and on par or faster than the best alternative CSS compilers around.
2941

3042
Developing
3143
----------
3244

33-
As you may have noticed, the LibSass repo itself has
34-
no executables and no tests. Oh noes! How can you develop???
35-
36-
Well, luckily, [SassC](http://github.com/sass/sassc) is the official binary wrapper for
37-
LibSass and is *always* kept in sync. SassC is used by continous integration systems in
38-
LibSass repository. When developing LibSass, it is best to actually
39-
checkout SassC and develop in that directory with the SassC spec
40-
and tests there.
41-
42-
We even run Travis tests for SassC!
45+
As noted above, the LibSass repository does not contain any binaries or other way to execute
46+
LibSass. Therefore, you need an implementer to develop LibSass. Easiest is to start with
47+
the official [SassC](http://github.com/sass/sassc) CLI wrapper. It is *guaranteed* to compile
48+
with the latest code in LibSass master, since it is also used in the CI process. There is no
49+
limitation here, as you may use any other LibSass implementer to test your LibSass branch!
4350

44-
Tests
51+
Testing
4552
-------
4653

47-
Since LibSass is a pure library, tests are run through the [SassSpec](https://github.com/sass/sass-spec) project using the [SassC](http://github.com/sass/sassc) driver.
54+
Since LibSass is a pure library, tests are run through the [Sass-Spec](https://github.com/sass/sass-spec)
55+
project using the [SassC](http://github.com/sass/sassc) CLI wrapper. To run the tests against LibSass while
56+
developing, you can run `./script/spec`. This will clone SassC and Sass-Spec under the project folder and
57+
then run the Sass-Spec test suite. You may want to update the clones to ensure you have the latest version.
58+
Note that the scripts in the `./script` folder are mainly intended for our CI needs.
4859

49-
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.
60+
Building
61+
--------
5062

51-
### DEBUG builds
63+
To build LibSass you need GCC 4.6+ or Clang/LLVM. If your OS is older, you may need to upgrade
64+
them first (or install clang as an alternative). On Windows, you need MinGW with GCC 4.6+ or VS 2013
65+
Update 4+. It is also possible to build LibSass with Clang/LLVM on Windows with various build chains
66+
and/or command line interpreters.
5267

53-
Set the environment variable `DEBUG` to `1` to enable debug builds that can be debugged
54-
with `gdb`, `lldb` and others. E.g.: use `$ DEBUG=1 ./script/spec` to run the tests with
55-
a debug build.
68+
See the [build docs for further instructions](docs/build.md)!
5669

57-
Library Usage
70+
Compatibility
5871
-------------
5972

60-
While LibSass is a library primarily written in C++, it provides a simple
61-
C interface which should be used by most implementers. LibSass does not do
62-
much on its own without an implementer. This can be a command line tool, like
63-
[sassc](https://github.com/sass/sassc) or a [binding](docs/implementations.md)
64-
to your favorite programing language.
65-
66-
If you want to build or interface with LibSass, we recommend to check out the
67-
documentation pages about [building LibSass](docs/build.md) and
68-
the [C-API documentation](docs/api-doc.md).
73+
Current LibSass 3.4 should be compatible with Sass 3.4. Please refer to the [sass compatibility
74+
page](http://sass-compatibility.github.io/) for a more detailed comparison. But note that there
75+
are still a few incomplete edges which we are aware of. Otherwise LibSass has reached a good level
76+
of stability, thanks to our ever growing [Sass-Spec test suite](https://github.com/sass/sass-spec).
6977

7078
About Sass
7179
----------
7280

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

77-
Sass was originally concieved of by the co-creator of this library,
78-
Hampton Catlin ([@hcatlin]). Most of the language has been the result of years
79-
of work by Natalie Weizenbaum ([@nex3]) and Chris Eppstein ([@chriseppstein]).
84+
Sass was originally conceived of by the co-creator of this library, Hampton Catlin ([@hcatlin]).
85+
Most of the language has been the result of years of work by Natalie Weizenbaum ([@nex3]) and
86+
Chris Eppstein ([@chriseppstein]).
8087

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

83-
Initial development of libsass by Aaron Leung and Hampton Catlin was supported by [Moovweb](http://www.moovweb.com).
90+
Initial development of LibSass by Aaron Leung and Hampton Catlin was supported by [Moovweb](http://www.moovweb.com).
8491

8592
Licensing
8693
---------
8794

88-
Our MIT license is designed to be as simple, and liberal as possible.
89-
90-
sass2scss was originally written by [Marcel Greter][@mgreter]
91-
and he happily agreed to have it merged into the project.
92-
95+
Our [MIT license](LICENSE) is designed to be as simple and liberal as possible.
9396

9497
[@hcatlin]: https://github.com/hcatlin
9598
[@akhleung]: https://github.com/akhleung

0 commit comments

Comments
 (0)