UNPKG

fis3-spriter-csssprite

Version:

基于fis-spriter-csssprites,增加输出相对路径的支持

39 lines (36 loc) 1.11 kB
/** * fis.baidu.com * @type {Function} */ 'use strict'; var path = require('path'); var Rules = require('./css/rules.js'); module.exports = function (content, images, file) { var _arr_css = [] , _content; var reg = /(?:\/\*[\s\S]*?(?:\*\/|$))|([^\{\}\/]*)\{([^\{\}]*)\}/gi; var filePath = path.dirname(file.url || file.release || file.subpath); _content = content.replace(reg, function(m, selector, css) { if (css) { var rules = Rules.wrap(selector.trim(), css.trim()); var imgUrl; if (rules.isSprites()) { imgUrl = rules.getImageUrl(); if (!path.isAbsolute(imgUrl)) { imgUrl = path.join(filePath, imgUrl).replace(/\\/g, '/'); } if (images.hasOwnProperty(imgUrl)) { rules.image = imgUrl; _arr_css.push(rules); css = rules.getCss(); } } return selector + '{' + css + '}'; } return m; }); return { content: _content, map: _arr_css }; };