Comparing version 0.9.1 to 0.9.3
@@ -79,5 +79,12 @@ /** | ||
heads: [ 'sprite' ], | ||
separator: constant.DEFAULT_SEPARATOR | ||
separator: constant.DEFAULT_SEPARATOR, | ||
logname: '.sprite' | ||
}; | ||
// css sprite parameter | ||
constant.CSS_SPRITE_PREFIX = 'sprite'; | ||
constant.CSS_SPRITE_SELECTOR_PREFIX = '.sprite' + constant.DEFAULT_SEPARATOR; | ||
constant.CSS_SPRITE_RATIO_SUFFIX = 'x'; | ||
constant.CSS_SPRITE_RATIO_SEPARATOR = '@'; | ||
// image ratioResize default options | ||
@@ -84,0 +91,0 @@ constant.IMAGE_RATIORESIZE_DEFAULT_OPTIONS = { |
@@ -7,4 +7,4 @@ /** | ||
var path = require('path'); | ||
var _ = require('underscore'); | ||
var _ = require('underscore'); | ||
var Builder = require('node-spritesheet').Builder; | ||
@@ -43,8 +43,22 @@ | ||
var head = this.getHead(images[0], options); | ||
var output = constant.CSS_SPRITE_PREFIX + separator + group; | ||
var checker = new fsys.Checker(images, options.logpath, options.logname); | ||
// check modified | ||
if (options.overwrite === false) { | ||
// read log | ||
checker.read(); | ||
// check modified | ||
if (!checker.isModified(dstPath + path.sep + output)) { | ||
callback && callback(); | ||
return; | ||
} | ||
} | ||
// make csssprite builder | ||
var builder = new Builder({ | ||
outputDirectory: dstPath, | ||
outputCss: head + separator + group + '.styl', | ||
selector: '.sprite-' + group, | ||
outputCss: head + separator + group + constant.EXTENSION_STYL, | ||
selector: constant.CSS_SPRITE_SELECTOR_PREFIX + group, | ||
images: images | ||
@@ -56,5 +70,5 @@ }); | ||
var ratio = ratios[i]; | ||
builder.addConfiguration(ratio + 'x', { | ||
builder.addConfiguration(ratio + constant.CSS_SPRITE_RATIO_SUFFIX, { | ||
pixelRatio: ratio, | ||
outputImage: 'sprite' + separator + group + '@' + (ratio * 10) + 'x.png' | ||
outputImage: output + constant.CSS_SPRITE_RATIO_SEPARATOR + (ratio * 10) + constant.CSS_SPRITE_RATIO_SUFFIX + constant.EXTENSION_PNG | ||
}); | ||
@@ -67,3 +81,11 @@ } | ||
} | ||
callback && callback(err); | ||
// save log | ||
if (options.overwrite === false) { | ||
logger.trace('save log id: ', output); | ||
checker.save(dstPath + '/' + output); | ||
checker.write(); | ||
} | ||
callback && callback(err, ret); | ||
}); | ||
@@ -70,0 +92,0 @@ }, |
@@ -18,2 +18,3 @@ /** | ||
var store = require('./store'); | ||
var Checker = require('./checker'); | ||
@@ -34,2 +35,9 @@ /** | ||
/** | ||
* checker library | ||
* @name checker | ||
* @memberof fsys | ||
*/ | ||
Checker: Checker, | ||
/** | ||
* file type | ||
@@ -36,0 +44,0 @@ * @name TYPE |
@@ -9,2 +9,3 @@ /** | ||
var fs = require('fs'); | ||
var crypto = require('crypto'); | ||
@@ -24,2 +25,3 @@ var _ = require('underscore'); | ||
var JSONStore = function(dir, encode) { | ||
this.encode = encode || 'utf-8'; | ||
@@ -30,2 +32,4 @@ this.dir = dir; | ||
this.mapping = {}; | ||
this.hash = {}; | ||
this.reloadAll(); | ||
@@ -56,2 +60,11 @@ }; | ||
var sha256sum = crypto.createHash('sha256'); | ||
sha256sum.update(abspath); | ||
var hash = sha256sum.digest('hex'); | ||
if (!this.hash[hash]) { | ||
this.hash[abspath] = hash; | ||
} | ||
_.extend(this.data, json); | ||
@@ -58,0 +71,0 @@ |
{ | ||
"name": "beezlib", | ||
"version": "0.9.1", | ||
"version": "0.9.3", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -100,3 +100,38 @@ beezlib | ||
# Documents | ||
## Load configuration file (javascript/json) | ||
You can load configuration file writeen by json, javascript. | ||
**test/json/item.json** | ||
```json | ||
{ | ||
"item": { // item data | ||
"fruit": "Orange" | ||
} | ||
} | ||
``` | ||
**test/json/json.js** | ||
```javascript | ||
(function () { | ||
// You can use these global objects on Node.js. | ||
// 'process', 'require', '__filename', '__dirname', 'module', 'exports' | ||
var fs = require('fs'); // sample | ||
return { | ||
hoge: "foo" | ||
}; | ||
}()); | ||
``` | ||
> Support node.js global object | ||
## Contributing | ||
@@ -103,0 +138,0 @@ |
@@ -106,2 +106,3 @@ var path = require('path'); | ||
store.mapping.hoge.should.equal('test/json/json.js'); | ||
store.hash['test/json/dir/index.json'].should.equal('8b8ef0b684580b7a03e1928651a8d3b545211a6838a1432a91e030015ca8a803').be.ok; | ||
}); | ||
@@ -195,2 +196,7 @@ it('fsys/readJsonSync',function() { | ||
}); | ||
it('css/sprite#build overwrite: false', function (done) { | ||
var options = { extnames: ['.png', '.jpg'], ratios: [1, 2], overwrite: false}; | ||
var images = index.css.sprite.getImages('test/image/sprite', 'logo', options); | ||
index.css.sprite.build('test/image/sprite', 'logo', images, options, done); | ||
}); | ||
it('css/sprite#getImages', function (done) { | ||
@@ -387,2 +393,16 @@ var options = { extnames: ['.png', '.jpg'] }; | ||
it('checker# save - write - reset - read', function(done) { | ||
var options = { extnames: ['.png', '.jpg'], ratios: [1, 2] }; | ||
var images = index.css.sprite.getImages('test/image/sprite', 'logo', options); | ||
var checker = new index.fsys.Checker(images, 'test/image/sprite/', '.cache'); | ||
checker.save('image'); | ||
checker.data.image.should.equal(checker.getSize(images)).be.ok; | ||
checker.write(); | ||
checker.reset(); | ||
checker.read(); | ||
checker.data.image.should.equal(checker.getSize(images)).be.ok; | ||
done(); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
385306
81
2878
168
8