Parses Qualifield Rule selectors
3 files changed
tree: adbedded7ce299ecb2b5bc0f7bb4625ee4cde209
  1. css/
  2. parser/
  3. .gitignore
  4. douceur.go
  5. LICENSE
  6. README.md
README.md

douceur

A simple CSS parser in Go.

Vaguely inspired by CSS Syntax Module Level 3 and corresponding JS parser.

Uses Gorilla CSS3 tokenizer.

Install

Fetch package:

$ go get github.com/aymerick/douceur

Parse CSS:

package main

import (
    "fmt"

    "github.com/aymerick/douceur/parser"
)

func main() {
    input := `body {
    /* D4rK s1T3 */
    background-color: black;
        }

  p     {
    /* Try to read that ! HAHA! */
    color: red; /* L O L */
 }
`

    stylesheet, err := parser.Parse(input)
    if err != nil {
        panic("OMG ! SO BUGGY !")
    }

    fmt.Print(stylesheet.String())
}

Displays:

body {
  background-color: black;
}
p {
  color: red;
}

Tool usage

Install tool:

$ go install github.com/aymerick/douceur

Parse a CSS file:

$ douceur parse inputfile.css

Test

go test ./... -v