1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
[](https://github.com/bep/golibsass/actions?query=workflow:Test)
[](https://goreportcard.com/report/github.com/bep/golibsass)
[](https://github.com/sass/libsass)
[](https://codecov.io/gh/bep/golibsass)
[](https://godoc.org/github.com/bep/golibsass/libsass)
**Note:** LibSASS (the C++ library that this project wraps) is now deprecated. You may want to try https://github.com/bep/godartsass
The primary motivation for this project is to provide `SCSS` support to [Hugo](https://gohugo.io/). I welcome PRs with bug fixes. I will also consider adding functionality, but please raise an issue discussing it first.
If you need more functionality than this project can provide you may want to have a look at [go-libsass](https://github.com/wellington/go-libsass).
## Usage
A basic example (error handling omitted):
```go
transpiler, _ := libsass.New(libsass.Options{OutputStyle: libsass.CompressedStyle})
result, _ := transpiler.Execute(`
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
}
`)
fmt.Println(result.CSS)
// Output: body{font:100% Helvetica,sans-serif;color:#333}
```
See the [GoDoc](https://godoc.org/github.com/bep/golibsass/libsass) for more options.
## Update LibSass version
This project embeds the [LibSASS](https://github.com/sass/libsass) source code as a Git subtree. To update:
1. Pull in the relevant LibSASS version, e.g. `./pull-libsass.sh 3.6.3`
2. Regenerate wrappers with `go generate ./gen`
3. Update the LibSass version badge above.
## Local development
Compiling C++ code isn' particulary fast; if you install libsass on your PC you can link against that, useful during development.
On a Mac you may do something like:
```bash
brew install --HEAD libsass
go test ./libsass -tags dev
```
|