Skip to content

yosssi/gcss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 12, 2014
3967759 · Oct 12, 2014
Sep 18, 2014
Oct 9, 2014
Sep 16, 2014
Sep 4, 2014
Sep 13, 2014
Oct 7, 2014
Sep 17, 2014
Oct 12, 2014
Sep 16, 2014
Oct 12, 2014
Oct 10, 2014
Oct 12, 2014
Sep 15, 2014
Sep 13, 2014
Oct 9, 2014
Oct 12, 2014
Sep 4, 2014
Oct 12, 2014
Sep 16, 2014
Oct 10, 2014
Oct 12, 2014
Oct 12, 2014
Sep 16, 2014
Oct 12, 2014
Sep 16, 2014
Oct 12, 2014
Sep 15, 2014
Oct 12, 2014
Sep 16, 2014
Oct 12, 2014
Oct 10, 2014
Oct 12, 2014
Sep 13, 2014
Oct 12, 2014
Oct 10, 2014
Oct 1, 2014
Sep 18, 2014
Oct 12, 2014

Repository files navigation

GCSS - Pure Go CSS Preprocessor

wercker status Build status Coverage Status GoDoc ![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-font
  color: $main-color

Nesting

nav
  ul
    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")

if err != 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")

if err != nil {
	panic(err)
}

defer func() {
	if err := f.Close(); err != nil {
		panic(err)
	}
}()

n, err := gcss.Compile(os.Stdout, f)

Documentation

Syntax Highlightings

  • vim-gcss - Vim syntax highlighting for GCSS