css.coffee | |
---|---|
CSS ExtensionThis extension defined Package and Source subclasses specific for stylesheets. This barely implies defining specific classes properties and the compression behavior on the Package subclass. | {Package, Source} = require '..'
{finished, debug} = require '../command' |
Package is subclassed by providing the required class properties | class StylesheetsPackage extends Package
@type = 'stylesheets'
@aliases = ['css']
@compressedext = '.min.css'
@ext = '.css'
requiredModules: ->
[super()..., 'css-compressor']
|
This method complies to the convention required by the | compressFile: (original, dest, cb) ->
{cssmin} = require 'css-compressor'
compress = (data, cb2) ->
cb2 null, cssmin data
original.project dest, compress, (err) ->
cb err if err
finished 'Compressed', original.fullpath
cb()
|
Source is subclassed by providing, again, the required class properties | class StylesheetsSource extends Source
@type = 'stylesheets'
@aliases = ['css']
@header = /^\/\*\s*import\s+([a-zA-Z0-9_\-\,\.\[\]\{\}\u0022/ ]+)\*\//m
@ext = '.css'
Source.extend StylesheetsSource
Package.extend StylesheetsPackage
|