diff options
author | Tri Nguyen <tri@tridnguyen.com> | 2018-06-06 10:25:03 +0300 |
---|---|---|
committer | Alexander Madyankin <alexander@madyankin.name> | 2018-06-06 10:25:03 +0300 |
commit | 7fb39b366a5cc558e0b8facd7a2bf5118fe1adb8 (patch) | |
tree | 41be770fb03f3cae6cbcece5641e71eea9d1e8f8 | |
parent | 56de7635253f41a2d7db815c1cf9566aa32d5fa1 (diff) |
make icon its own module (#95)
abstract the method to make icon markup into its own module.
this allows for it to be used in JavaScript environment that does not
have access to nodeism like `fs` or `__dirname` (such as browserify or
webpack).
this method could potentially be re-used in the browser asset
bundle, as it is the same.
-rw-r--r-- | evil-icons.js | 26 | ||||
-rw-r--r-- | icon.js | 26 |
2 files changed, 27 insertions, 25 deletions
diff --git a/evil-icons.js b/evil-icons.js index fc4ef46..6e58a12 100644 --- a/evil-icons.js +++ b/evil-icons.js @@ -1,31 +1,7 @@ var fs = require('fs'); var spritePath = __dirname + '/assets/sprite.svg'; var sprite = fs.readFileSync(spritePath).toString(); - -function icon(name, options) { - var options = options || {}; - var size = options.size ? ' icon--' + options.size : ''; - var classes = 'icon icon--' + name + size + ' ' + (options.class || ''); - classes = classes.trim(); - - var icon = '<svg class="icon__cnt">' + - '<use xlink:href="#' + name + '-icon" />' + - '</svg>'; - - var html = '<div class="' + classes + '">' + - wrapSpinner(icon, classes) + - '</div>'; - - return html; -} - -function wrapSpinner(html, klass) { - if (klass.indexOf('spinner') > -1) { - return '<div class="icon__spinner">' + html + '</div>'; - } else { - return html; - } -} +var icon = require('./icon');; function buildParamsFromString(string) { var match, attr, value; @@ -0,0 +1,26 @@ +module.exports = icon; + +function icon(name, options) { + var options = options || {}; + var size = options.size ? ' icon--' + options.size : ''; + var classes = 'icon icon--' + name + size + ' ' + (options.class || ''); + classes = classes.trim(); + + var icon = '<svg class="icon__cnt">' + + '<use xlink:href="#' + name + '-icon" />' + + '</svg>'; + + var html = '<div class="' + classes + '">' + + wrapSpinner(icon, classes) + + '</div>'; + + return html; +} + +function wrapSpinner(html, klass) { + if (klass.indexOf('spinner') > -1) { + return '<div class="icon__spinner">' + html + '</div>'; + } else { + return html; + } +} |