1.6.2 • Published 7 years ago
sprite-magic-importer v1.6.2
sprite-magic-importer
Custom node-sass importer for create CSS Sprites like Magic Imports of the Compass.
Input
@import "icons/*.png";
@include all-icons-sprites(true);
.foo {
.bar {
@include icons-sprite(chrome);
}
}Output
.icons-sprite, .icons-chrome, .icons-firefox, .icons-ie, .foo .bar {
background-image: url("/images/icons.png?_=bfa627d");
background-repeat: no-repeat;
}
.icons-chrome {
background-position: -32px 0;
width: 32px;
height: 32px;
}
...snip...
.foo .bar {
background-position: -32px 0;
}
.foo .bar:hover, .foo .bar.chrome-hover {
background-position: 0 0;
}See: Example
Supported Compass features
Mixins and Functions
@mixin all-<map>-sprites()@mixin <map>-sprite()@mixin <map>-sprite-dimensions()@function <map>-sprite-width()@function <map>-sprite-height()
Magic Selectors
Supported are hover, target, active, and focus.
Customization Options
$disable-magic-sprite-selectors- default:
false
- default:
$sprite-selectors- default:
hover, target, active, focus
- default:
$default-sprite-separator- default:
-
- default:
$<map>-sprite-base-class- default:
.<map>-sprite
- default:
$<map>-sprite-dimensions- default:
false
- default:
$<map>-class-separator- default:
$default-sprite-separator
- default:
Usage
Create configure script.
importer.js
var SpriteMagicImporter = require('sprite-magic-importer');
module.exports = SpriteMagicImporter({
// http://compass-style.org/help/documentation/configuration-reference/
sass_dir: 'src/sass',
images_dir: 'src/images',
generated_images_dir: 'dist/images',
http_stylesheets_path: '/css',
http_generated_images_path: '/images',
// spritesmith options
spritesmith: {
algorithm: `diagonal`,
padding: 2
},
// imagemin-pngquant options
pngquant: {
quality: 75,
speed: 10
}
});build.js
Plese note: You cannot use sass.renderSync with this importer.
var sass = require('node-sass');
var importer = require('./importer');
sass.render({
...
importer: importer
...
});configure options
- project_path
string- The path to the root of the project.- default:
process.cwd()
- default:
- http_path
string- The path to the project when running within the web server.- default:
/
- default:
- sass_dir
string- The directory where the sass stylesheets are kept. It is relative to the project_path.- default:
sass
- default:
- css_dir
string- The directory where the css stylesheets are kept. It is relative to the project_path.- default:
stylesheets
- default:
- images_dir
string- The directory where the images are kept. It is relative to the project_path.- default:
images
- default:
- generated_images_dir
string- The directory where generated images are kept. It is relative to the project_path.- default: images_dir
- http_generated_images_path
string- The full http path to generated images on the web server.- default: http_path +
/+ generated_images_dir
- default: http_path +
- http_stylesheets_path
string- The full http path to stylesheets on the web server.- default: http_path +
/+ css_dir
- default: http_path +
- use_cache
boolean- Set this to true to speed up using the cache.- default: true
- cache_dir
string- The full path to where cache of temporary stylesheets are kept.- default: os.tmpdir() +
/sprite-magic-importer
- default: os.tmpdir() +
- retina_mark
regexp- Regular expression for detecting high resolution image from file name.- default:
/@(\d)x$/
- default:
- spritesmith
object- This option is passed to theSpritesmith.run(). - pngquant
object- This option is passed to theimagemin-pngquant.
CLI
node-sass --importer ./importer.js -o dist/css src/app.scssRetina support
@import "icons/*.png"; // '*@2x.png' will not be imported
@include all-icons-sprites(true);
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
@import "icons/*@2x.png";
@include all-icons-sprites();
}License
The MIT License (MIT)
Copyright (c) 2016 Takayuki Irokawa
1.6.2
7 years ago
1.6.1
7 years ago
1.6.0
8 years ago
1.5.4
8 years ago
1.5.3
8 years ago
1.5.2
8 years ago
1.5.1
9 years ago
1.5.0
9 years ago
1.4.4
9 years ago
1.4.3
9 years ago
1.4.2
9 years ago
1.4.1
9 years ago
1.4.0
9 years ago
1.3.1
9 years ago
1.3.0
9 years ago
1.2.1
9 years ago
1.2.0
9 years ago
1.1.0
9 years ago
1.0.0
10 years ago
0.9.1
10 years ago
0.8.1
10 years ago
0.8.0
10 years ago
0.7.0
10 years ago
0.6.0
10 years ago
0.5.2
10 years ago
0.5.1
10 years ago
0.5.0
10 years ago
0.4.0
10 years ago
0.3.2
10 years ago
0.3.1
10 years ago
0.3.0
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago