diff --git a/.gitignore b/.gitignore
index c53ac12e6..7903a4c2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
_site/
node_modules/
.jekyll-cache/
+package-lock.json
diff --git a/_config.yml b/_config.yml
index 7582e66f8..595be93e1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -10,6 +10,7 @@ defaults:
type: "icons"
values:
layout: icon
+ permalink: 'icons/tabler-:slug'
collections:
icons:
diff --git a/_icons/heart.svg b/_icons/heart.svg
new file mode 100644
index 000000000..1b1ea6f3a
--- /dev/null
+++ b/_icons/heart.svg
@@ -0,0 +1,5 @@
+---
+---
+
diff --git a/_icons/map-pin.svg b/_icons/map-pin.svg
new file mode 100644
index 000000000..d02683846
--- /dev/null
+++ b/_icons/map-pin.svg
@@ -0,0 +1,6 @@
+---
+---
+
diff --git a/_icons/user-plus.svg b/_icons/user-plus.svg
new file mode 100644
index 000000000..950a86553
--- /dev/null
+++ b/_icons/user-plus.svg
@@ -0,0 +1,8 @@
+---
+---
+
diff --git a/_icons/user.svg b/_icons/user.svg
new file mode 100644
index 000000000..0483d65a8
--- /dev/null
+++ b/_icons/user.svg
@@ -0,0 +1,6 @@
+---
+---
+
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 000000000..f5bedd199
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,52 @@
+const gulp = require('gulp'),
+ glob = require("glob"),
+ fs = require("fs"),
+ path = require("path"),
+ svg2img = require('svg2img');
+
+
+gulp.task('icons-sprite', function (cb) {
+ const columnsCount = 20,
+ padding = 16,
+ paddingOuter = 49,
+ iconSize = 24;
+
+ glob("_site/icons/*.svg", {}, function (er, files) {
+ const iconsCount = files.length,
+ rowsCount = Math.ceil(iconsCount / columnsCount),
+ width = columnsCount * (iconSize + padding) + 2 * paddingOuter - padding,
+ height = rowsCount * (iconSize + padding) + 2 * paddingOuter - padding;
+
+ let svgContentSymbols = '',
+ svgContentIcons = '',
+ x = paddingOuter,
+ y = paddingOuter;
+ files.forEach(function (file, i) {
+ let name = path.basename(file, '.svg');
+
+ let svgFile = fs.readFileSync(file),
+ svgFileContent = svgFile.toString();
+
+ svgFileContent = svgFileContent
+ .replace('