0.1.8 • Published 10 years ago

grunt-node-sprite-mixings v0.1.8

Weekly downloads
1
License
-
Repository
github
Last release
10 years ago

grunt-node-sprite-mixings Build Status

Mixing generator for stylus, from a json that contains the coordinates of the images on the sprite.

Requirements

This plugin requires Grunt ~0.4.2 and node-sprite ~0.1.2

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-node-sprite-mixings --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-node-sprite-mixings');

The "node_sprite_mixings" task

Overview

In your project's Gruntfile, add a section named node_sprite_mixings to the data object passed into grunt.initConfig().

grunt.initConfig({
  node_sprite_mixings: {
    files: {
      // task specifics
    }
  },
});

Before run the grunt-node-sprite-mixings task you must make sure that the sprite and json has been generated.

Options

This task has just one option.

jsonRemove

jsonRemove: Boolean - By default is false, should you wish to delete the jsons after generation of the mixings.

urlNamespace

urlNamespace: String - By default is disabled, add a path on the URL of the background image.

Usage Examples

One file per sprites

Coming together of all json sprites into a single mixing.

grunt.initConfig({
  node_sprite_mixings: {
    files: {
        dest: 'public/stylesheets/mixings/example.styl',
        src: ['public/images/*.json']
    },
    options: {
        removeJson: true, // default is false
        urlNamespace: '/images/' // default is disabled
    }
  },
});

Multiple files per sprites

Mixings separated for every sprite.

grunt.initConfig({
  node_sprite_mixings: {
    basicAndExtras: {
        files: {
            'public/stylesheets/mixings/bar.styl': ['public/images/bar.json'],
            'public/stylesheets/mixings/foo.styl': ['public/images/foo.json']
        },
        options: {
            removeJson: true, // default is false
            urlNamespace: '/images/' // default is disabled
        }
    },
  },
});

Structural mixing expected / STYL

This is the format that is generated by mixing task:

  foo(x-offset=0, y-offset=0, repeat=no-repeat)
    background url('urlNamespace/example-1.png') repeat (0px + x-offset) (442px + y-offset) transparent
    width 20px
    height 20px

Stylus implementation

To use the mixings generated, just call into your file.styl as follows:

@import 'mixings/example'

.example_1
  foo()

.example_2
  foo(true, 2px, 2px)

.example_3
  foo(true, 0, 0, repeat-x)

.example_4
  foo(false)

Result of css:

.example_1 {
  background:url("urlNamespace/example-1.png") no-repeat 0 211px transparent;
  width: 20px;
  height: 20px
}

.example_2 {
  background:url("urlNamespace/example-1.png") no-repeat 2px 213px transparent;
  width: 20px;
  height: 20px
}

.example_3 {
  background:url("urlNamespace/example-1.png") repeat-x 0 211px transparent;
  width: 20px;
  height: 20px
}

.example_4 {
  background:url("urlNamespace/example-1.png") repeat-x 0 211px transparent
}

Structural Sprite Information required / JSON

The json that was specified in jsonFile, should be in this structure.

To learn how to produce this automatic json lib check out the node-sprite, and see how to utilize.

{
    "name": "example",
    "shortsum": "1",
    "images": [{
        "name": "foo",
        "width": 20px,
        "height": 20px,
        "positionX": 0,
        "positionY": 0
    }, {
        "name": "bar",
        "width": 30px,
        "height": 30px,
        "positionX": 0,
        "positionY": 442
    }]
}

Contributing

Feel free to post issues or pull request.

You can run the projects tests with the npm test command.

Release History

  • 2013-03-11 v0.1.8 Fix Bug replace all _ mixin of name
  • 2013-03-08 v0.1.7 Features - optional parameter of sizes on mixings
  • 2013-03-07 v0.1.6 Improvements - add width and height of mixings
  • 2013-03-05 v0.1.5 Fix bug syntax background and insert namespace in the url
  • 2013-03-05 v0.1.4(deprecated) Fix bug remove Json
  • 2013-03-05 v0.1.3(deprecated) Improvements remove json and code refactors
  • 2013-03-05 v0.1.2(deprecated) First released

Task submitted by Saulo S. Santiago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago