
Research
Security News
The Growing Risk of Malicious Browser Extensions
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
postcss-sprites
Advanced tools
PostCSS plugin that generates spritesheets from your stylesheets.
/* Input */
.comment { background: url(images/sprite/ico-comment.png) no-repeat 0 0; }
.bubble { background: url(images/sprite/ico-bubble.png) no-repeat 0 0; }
/* ---------------- */
/* Output */
.comment { background-image: url(images/sprite.png); background-position: 0 0; }
.bubble { background-image: url(images/sprite.png); background-position: 0 -50px; }
var fs = require('fs');
var postcss = require('postcss');
var sprites = require('postcss-sprites');
var css = fs.readFileSync('./css/style.css', 'utf8');
var opts = {
stylesheetPath: './dist',
spritePath: './dist/images/'
};
postcss([sprites(opts)])
.process(css, {
from: './css/style.css',
to: './dist/style.css'
})
.then(function(result) {
fs.writeFileSync('./dist/style.css', result.css);
});
See PostCSS docs for examples for your environment.
Relative path to the folder that will keep your output stylesheet(s). If it's null the path of CSS file will be used.
false
Relative path to the folder that will keep your output spritesheet(s).
./
true
Your base path that will be used for images with absolute CSS urls.
./
false
Indicates whether the url should be relative against current CSS context or original CSS stylesheet file.
file
false
file|rule
Defines filter functions that will manipulate the list of images founded in your stylesheet(s).
[]
false
Function|Function[]
Every function must return a Promise
which should be resolved or rejected.
Built-in filters:
fs.stat
and used to remove non exisiting imagesDefines group functions that will manipulate the list of images founded in your stylesheet(s).
[]
false
Function|Function[]
Every function must return a Promise
which should be resolved with a string or rejected.
Built-in filters:
@2x
naming conventionDefines whether or not to search for retina mark in the filename.
false
false
Defines whether or not to search for retina mark in the filename.
{}
false
Hook that allows to rewrite the data of produced spritesheet.
If returned value is string, it is used as filepath value, and if returned value is object, it is used as value which will be merged with current spritesheet data.
Returned value can also be Promise which should return either string or object.
null
false
Hook that allows to rewrite the CSS output for an image.
null
false
A spritesmith configuration.
{}
false
The engine.
pixelsmith
false
The algorithm.
binary-tree
false
The space between images in spritesheet.
0
false
The configuration of the engine.
{}
false
The export options of the engine.
{}
false
A svg-sprite configuration.
Prints the plugin output to the console.
false
false
Every filter or group function will be called with an Image
object.
An absolute path to the stylesheet -
/Path/to/your/source/stylesheet.css
An absolute path to the image -
/Path/to/your/image.png
The url found in your stylesheet including the query params -
../image.png?v1
A normalized version of the original url -
../image.png
The retina ratio of your image -
2
Indicates whenever your image is retina -
true
The groups associated with the image -
['shapes', '@2x']
The string used as reference in your stylesheet -
/* @replace|image.png */
The position & dimensions of image in generated spritesheet -
{ width: 20, height: 20, x: 0, y: 0 }
A relative path to the generated spritesheet -
dist/sprite.png
A CSS url to the generated spritesheet -
sprite.png
The total width of the spritesheet -
200
The total height of the spritesheet -
400
Pull requests are welcome.
$ git clone git@github.com:2createStudio/postcss-sprites.git
$ npm install
$ npm run watch
[4.2.1] - 2017-02-07
FAQs
Generate spritesheets from stylesheets
The npm package postcss-sprites receives a total of 1,707 weekly downloads. As such, postcss-sprites popularity was classified as popular.
We found that postcss-sprites demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
Research
Security News
An in-depth analysis of credential stealers, crypto drainers, cryptojackers, and clipboard hijackers abusing open source package registries to compromise Web3 development environments.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.