OCBNET-CSS3

Parse, manipulate and render CSS files


License
GPL-3.0

Documentation

OCBNET-CSS3

Perl module for CSS3 parsing, manipulation and rendering. It does this by parsing the CSS into a DOM like structure. You then can use various methods to manipulate it and finally render it again. It should also be possible to use it as a base for an SCSS compiler implementation.

Should be able to parse nearly any css based format (i.e. scss). We try to be as unstrict as possible when parsing css code and blocks. If the blocks are in a known format, the node/object will automatically be set to the specific class. This enables any implementor to define its own specific implementation (todo).

Great care has been taken to parse everything correctly (like handling escaped chars and chars in quoted strings correctly). I think many css processors and tools ignore these edge cases. This module has been built from ground up to actually be able to parse them correctly. The key base to this is a set of well tested regular expressions, which may be handy for other css related tasks.

INSTALL

Build Status Coverage Status

Standard process for building & installing modules:

perl Build.PL
./Build
./Build test
./Build install

Or, if you're on a platform (like DOS or Windows) that doesn't require the "./" notation, you can do this:

perl Build.PL
Build
Build test
Build install

Or, if cpanminus is available:

cpanm git://github.com/mgreter/OCBNET-CSS3.git

blessc

Rewrite the given input.css if it exceeds the IE limitations (only selectors). Adds imports and additional stylesheets. This has been inspired by http://blesscss.com/. But this version "should" handle nested blocks. The utility tries to act as a drop in replacement (altough not tested on real examples).

blessc [options] [ source | - ] [destination]
-v, --version      print version
-h, --help         print this help
-f, --force        overwrite input file
-x, --compress     "minify" @import
--no-cleanup       don\'t remove old css file before overwriting
--no-imports       disable @import on stylesheets
--no-cache-buster  turn off the cache buster

csslint

Check the given file if it is within the IE limits (selectors and imports).

csslint [options] [ source | - ]
-v, --version      print version
-h, --help         print this help

sass2scss

Converts old indented sass syntax to newer scss syntax (writes to stdout).

sass2scss [options] [ source | - ]
-v, --version      print version
-h, --help         print this help
-p, --pretty       pretty print output
                   repeat for c block style