diff --git a/.gitignore b/.gitignore
index 4f0e4e4..3b0c75d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
.DS_Store
node_modules
_site
+*.zip
+manifest.json
sandbox
stash
diff --git a/_includes/icons.html b/_includes/icons.html
index 265fc2d..6a5ddac 100644
--- a/_includes/icons.html
+++ b/_includes/icons.html
@@ -1,5 +1,5 @@
- {% for icon in site.data['icons-manifest'] %}
+ {% for icon in site.data['manifest'] %}
{% capture icon_path %}icons/{{ icon }}.svg{% endcapture %}
-
{% include_relative {{ icon_path }} %}
diff --git a/bin/build.sh b/bin/build.sh
index daa9f2f..19d0c33 100755
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -1,7 +1,5 @@
#!/usr/bin/env bash
-# find and store current version number
-version=$(grep '"version"' package.json | cut -d '"' -f4)
-
-# compress 'icons' directory into feather-[version].zip
-zip -r feather-${version}.zip ./icons/*
\ No newline at end of file
+./bin/make-manifest.sh > manifest.json
+./bin/make-zip.sh
+jekyll build
diff --git a/bin/make-manifest.sh b/bin/make-manifest.sh
new file mode 100755
index 0000000..8b41db8
--- /dev/null
+++ b/bin/make-manifest.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+cd ./icons
+
+n=$(ls -1 | wc -l)
+m=0
+
+echo "["
+for i in $(ls -1 *.svg | cut -d '.' -f 1 )
+do
+ m=$((m + 1))
+ echo -n " "\"$i\"
+ [ "$m" == $n ] && echo "" || echo ","
+done
+echo "]"
diff --git a/bin/make-zip.sh b/bin/make-zip.sh
new file mode 100755
index 0000000..d8e3ddc
--- /dev/null
+++ b/bin/make-zip.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+# find and store current version number
+version=$(grep '"version"' package.json | cut -d '"' -f4)
+
+# compress 'icons' directory into feather-[version].zip
+zip -r feather-${version}.zip ./icons/
\ No newline at end of file
diff --git a/icons-manifest.json b/icons-manifest.json.old
similarity index 100%
rename from icons-manifest.json
rename to icons-manifest.json.old