Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/outpunk/evil-icons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTri Nguyen <tri@tridnguyen.com>2018-06-06 10:25:03 +0300
committerAlexander Madyankin <alexander@madyankin.name>2018-06-06 10:25:03 +0300
commit7fb39b366a5cc558e0b8facd7a2bf5118fe1adb8 (patch)
tree41be770fb03f3cae6cbcece5641e71eea9d1e8f8
parent56de7635253f41a2d7db815c1cf9566aa32d5fa1 (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.js26
-rw-r--r--icon.js26
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;
diff --git a/icon.js b/icon.js
new file mode 100644
index 0000000..1f04b41
--- /dev/null
+++ b/icon.js
@@ -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;
+ }
+}