Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

GCSS - Pure Go CSS Preprocessor

wercker statusBuild statusCoverage StatusGoDoc![Gitter](https://badges.gitter.im/Join Chat.svg)

Overview

GCSS is a pure Go CSS preprocessor. This is inspired by Sass and Stylus.

Syntax

Variables

$base-font: Helvetica, sans-serif$main-color: blue
body
font: 100%$base-fontcolor: $main-color

Nesting

navul
margin: 0
padding: 0
a
color: blue
&:hover
color: red

Mixins

$border-radius($radius)
-webkit-border-radius: $radius
-moz-border-radius: $radius
-ms-border-radius: $radius
border-radius: $radius.box$border-radius(10px)

Installation

$ go get -u github.com/yosssi/gcss/...

Compile from the Command-Line

$ gcss /path/to/gcss/file

or

$ cat /path/to/gcss/file | gcss > /path/to/css/file

Compile from Go programs

You can compile a GCSS file from Go programs by invoking the gcss.CompileFile function.

cssPath, err:=gcss.CompileFile("path_to_gcss_file")
iferr!=nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
http.ServeFile(w, r, cssPath)

You can invoke the gcss.Compile function instead of the gcss.CompileFile function. The gcss.Compile function takes io.Writer and io.Reader as a parameter, compiles the GCSS data which is read from the io.Reader and writes the result CSS data to the io.Writer. Please see the GoDoc for the details.

f, err:=os.Open("path_to_gcss_file")
iferr!=nil {
panic(err)
}
deferfunc() {
iferr:=f.Close(); err!=nil {
panic(err)
}
}()
n, err:=gcss.Compile(os.Stdout, f)

Documentation

Syntax Highlightings

  • vim-gcss - Vim syntax highlighting for GCSS

About

Pure Go CSS Preprocessor

Resources

Stars

500 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages