golibsass

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2022 License: MIT

README

Tests on Linux, MacOS and Windows Go Report Card LibSass Version codecov GoDoc

Note: LibSASS (the C++ library that this project wraps) is now deprecatd. You may want to try https://github.com/bep/godartsass

The primary motivation for this project is to provide SCSS support to Hugo. 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.

Usage

A basic example (error handling omitted):

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 for more options.

Update LibSass version

This project embeds the 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:

brew install --HEAD libsass
go test ./libsass -tags dev

Directories

Path Synopsis
internal
Package libsass a SCSS transpiler to CSS using LibSASS.
Package libsass a SCSS transpiler to CSS using LibSASS.
libsasserrors
Package libsasserrors holds the error types used by the libsass package.
Package libsasserrors holds the error types used by the libsass package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL