Need help with gcss?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

yosssi
442 Stars 33 Forks MIT License 102 Commits 8 Opened issues

Description

Pure Go CSS Preprocessor

Services available

!
?

Need anything else?

Contributors list

# 38,026
Go
Lua
webrtc
peerjs
91 commits
# 3,574
viml
golang
ag
q
3 commits

GCSS - Pure Go CSS Preprocessor

wercker status Build status Coverage Status GoDoc Gitter

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.