Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

less-go

THIS PROJECT IS NO LONGER MAINTAINED, feel free to fork and use as boilerplate for further usages

Build Status

Less compiler for Golang

Builds CSS using original Less compiler and Duktape embeddable Javascript engine

Status

This project is a work-in-progress, we accept pull requests.

Installation

    go get github.com/kib357/less-go

Command Line usage

    cd $GOPATH/src/github.com/kib357/less-go/lessc
    go get
    go build
    ./lessc --input="inputFile" --output="outputFile"
    ./lessc -i inputFile -o outputFile

Examples:

    ./lessc --input="./styles.less" --output="./styles.css"
    ./lessc -i styles.less -o styles.css

More about usage you can see in cli help:

    ./lessc -h

Programmatic usage

    import "github.com/kib357/less-go"

    func main() {
        err := less.RenderFile("./styles.less", "./styles.css", map[string]interface{}{"compress": true})
    }

Function reference

RenderFile(input, output string, mods ...map[string]interface{}) error

Renders Less and generates output CSS.

SetReader(customReader Reader)

    type Reader interface {
	    ReadFile(string) ([]byte, error)
    }

Sets a custom reader for .less files. You can use it to replace standard input from file system to another. Example:

    type LessReader struct{}

    var lessFiles = map[string][]byte{"styles": []byte{".class { width: (1 + 1) }"}}

    func (LessReader) ReadFile(path string) ([]byte, error) {
	    lessFile, ok := lessFiles[path]
        if !ok {
            return "", errors.New("path not found")
        }
        return lessFile, nil
    }

    func main() {
        less.SetReader(LessReader)
        ...
    }

SetWriter(customWriter Writer)

    type Writer interface {
	    WriteFile(string, []byte, os.FileMode) error
    }

Analogue of custom reader, but for output CSS.

Current limitations

Because of using C Javascript engine, cross compilation not supported. Not tested on Windows.

CLI interface doesnt support options

About

Less compiler for golang

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.