JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10405
  • Score
    100M100P100Q132368F
  • License MIT

Encode a directory of images to CSS

Package Exports

  • directory-encoder
  • directory-encoder/lib/svg-uri-encoder
  • directory-encoder/lib/svg-uri-encoder.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (directory-encoder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

directory-encoder Build Status

Filament Group

Encode a directory of PNG or SVG images to CSS

Getting Started

Install the module with: npm install directory-encoder

var DirectoryEncoder = require('directory-encoder');
var de = new DirectoryEncoder( source, destinationCSSFile, {
            pngfolder: pngfolder, //in case you need to link out for PNGs, like when the datauri is way too long
            customselectors: { "foo": [".bar", ".baz"]}, 
            prefix: ".icon-", // used to prefix the name of the file for the CSS classname, .icon- is the default
            templatePrepend: "/* start of icon-list */", // this string is prepended to the destinationCSSFile, defaults to ""
            handlebarsCallback: function(hbs) { /* configure handlebars, with custom helpers for example */ }, // callback to configure handlebars
            template: template.hbs, //template in handlebars, FANCY!
            templateAppend: "/* end of icon-list */", // this string is appended to the destinationCSSFile, defaults to ""
            noencodepng: false // turn this to true if you want no datauris for pngs, just links out to png files
        });
de.encode(); // "Guitar solo -- File outputted"

Documentation

Constructor

Takes three arguments, source directory for encoding/an array of files you'd like to encode, destination css file for when it writes, and an options hash that includes a spot for customselectors, a hbs template in case you want to get nuts with your css, where the pngs are located if you want to link out to them (or you don't have a choice because the data uri is bigger than 32k), and a switch to turn off datauris for pngs.

encode

All the magic happens here.

Examples

var de = new DirectoryEncoder( source, destinationCSSFile, {
            pngfolder: pngfolder, //in case you need to link out for PNGs, like when the datauri is way too long
            customselectors: { "foo": [".bar", ".baz"]}, 
            template: template.hbs, //template in handlebars, FANCY!
            noencodepng: false // turn this to true if you want no datauris for pngs, just links out to png files
        });
de.encode(); // "Guitar solo -- File outputted"

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 0.7.0 Add templateAppend and templatePrepend options
  • 0.6.0 Fix encoding brackets and ability to take an array
  • 0.5.0 PNGpath
  • 0.4.0 Width/Height from template
  • 0.3.0 Adding custom selectors that allow for wildcards
  • 0.2.0 Adding switchable icon name prefixes
  • 0.1.0 Woo

License

Copyright (c) 2013 John Bender/Jeffrey Lembeck/Filament Group Licensed under the MIT license.