diff --git a/README.md b/README.md
index 71fb2b2..f359809 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
SVG Logos
====================
-A collection of svg vector logos for developers.
+### A collection of svg vector logos for developers.
[View All](http://svgporn.com)
The logos are optimized (removed unnecessary paths/groups/defs, standardized, etc). Some were recreated from rastered images.
@@ -8,434 +8,467 @@ The logos are optimized (removed unnecessary paths/groups/defs, standardized, et
*All logos appearing on the site are the property of their respective owners. Any rights not expressly granted herein are reserved.*
## Contributing
+Since I optimize all the files manually I won't accept pull requests with new logos.
+And that's why they look so good.
-I won't accept pull requests with new logos.
-The reason is that I do optimize all the SVGs before uploading and that's why they look so good.
-Please send the links to your favorite logos in the issues and I'll add them.
+Please add your requests in the issues preferably with links to the vector files.
-====================
+---
-
-## Angular
+## Angular


-## Apache
+## Apache

-## Atom
+## Atom

-## auth0
+## Auth0

-## Autoprefixer
+## Autoprefixer

-## AWS
+## AWS

-## Babel
+## Babel

-## Backbone
-
+## Backbone
+

-## Bash, Zsh, Terminal
+## Shell

-## BEM
+## Bem

-## Blocs
+## Bitbucket
+
+
+## Blocs

-## Bootstrap
+## Bootstrap

-## Bower
+## Bower

-## Brackets
+## Brackets

-## Browserify
-
+## Browserify
+

-## Browserstack
+## BrowserStack

-## Capistrano
+## Capistrano

-## Chalk
-
+## Cassandra
+
-## Chef
-
-
-## Codeship
-
-
-## couchDB
-
-
-## chai
+## Chai

-## chrome
+## Chalk
+
+
+## Chef
+
+
+## Chrome

-## Codepen
-
+## Codepen
+

-## coffeescript
+## Codeship
+
+
+## CoffeeScript

-## Compass
+## Compass

-## coveralls
+## CouchDB
+
+
+## Coveralls

-## Cross Browser Testing
+## Cross Browser Testing

-## CSS3
+## CSS3

-## D3
+## cssnext
+
+
+## D3

-## Digital Ocean
+## Digital Ocean

-## Django
+## Django

-## Docker
+## docker

-## Drupal
+## Drupal

-## Ember
+## Ember
+
+

-
-
-## Emmet
+## Emmet

-## Engine Yard
+## Engine Yard

-## ES6
+## ES6

-## eslint
+## Eslint

-## express
+## Express

-## firebase
+## Firebase

-## Firefox
+## Firefox

-## flask
+## Flask

-## flow
+## flexible.gs
+
+
+## Flow

-## flux
+## Flux

-## forever
+## Forever

-## git
-
+## Git
+

-## github
-
+## Github
+

-
+
-## gitlab
+## Gitlab

-## google cloud
+## Google Cloud

-## google developers
+## Google Developers

-## grunt
+## Go
+
+
+## Grunt

-## gulp
+## Gulp

-## haml
+## Haml

-## handlebars
+## Handlebars

-## hapi
+## hapi

-## harrow
+## Harrow

-## heroku
+## Heroku

-## HTML5
+## HTML5

-## html5-boilerplate
+## HTML5 Boilerplate

-## invision
+## Invision

-## io
+## io.js

-## ionic
+## Ionic

-## jasmine
+## Jade
+
+
+## Jasmine

-## javascript
+## javascript (JS)

-## jetbrains
+## Jenkins
+
+
+## JetBrains

-## jquery
+## jQuery

-## json
+## jsbin
+
+
+## JSON

-## jspm
+## jspm

-## karma
+## Karma

-## kraken
+## Keen IO
+
+
+## Kraken

-## laravel
+## Laravel

-## leafjet
+## Leafjet

-## less
+## Less

-## lodash
+## Lodash

-## mariadb
+## MariaDB

-## marionette
+## Marionette.js

-## markdown
+## Markdown

-## material-ui
+## Material UI

-## MDN
+## MDN

-## memcached
+## Memcached

-## meteor
+## Meteor


-## mocha
+## Mocha

-## modernizr
+## Modernizr

-## mongodb
+## MongoDB

-## mysql
+## MySQL

-## nativescript
+## NativeScript

-## nginx
+## NGINX

-## nodejitsu
+## Nodejitsu

-## nodejs
+## Node.js


-## nodemon
+## nodemon

-## npm
+## NPM

-
+
-## nuclide
+## Nuclide

-## oauth
+## OAuth

-## open graph
+## Open Graph

-## openlayers
+## OpenLayers

-## optimizely
+## Optimizely

-## passport
+## Passport

-## phonegap
+## PhoneGap

-
+
-## PHP
+## PHP

-## polymer
+## Polymer

-## postgresql
+## PostgreSQL

-## puppet
+## Puppet

-## Python
+## Python

-## q
+## Q

-## rails
+## Rails

-## Raphaël
+## Raphaël

-## React
+## React

-## redis
+## Redis

-## require
+## RequireJS

-## rest
+## Rest

-## Ruby
+## Ruby

-## rubygems
+## RubyGems

-## SASS
+## Sass

-## Scala
+## Scala

-## snap.svg
-
+## Sinatra
+
-## Socket.io
+## Snap.svg
+
+
+## Socket.io

-## Stack Overflow
+## Stack Overflow

-## stylus
+## Stylus

-## SVG
+## SVG

-## swift
+## Swift

-## traackr
+## Traackr

-## travis
-
+## Travis CI
+
-
+
-## vagrant
+## Vagrant

-## vue
+## Visual Studio
+
+
+## Vue.js

-## W3C
+## W3C

-## web platform
-
-
-## webpack
+## webpack

-## wercker
+## WebPlatform
+
+
+## Wercker

-## wordpress
-
+## Wordpress
+

-## ycombinator
+## YCombinator

-## yeoman
+## Yeoman

+
diff --git a/assets/index.html b/assets/index.html
deleted file mode 100644
index 65767c0..0000000
--- a/assets/index.html
+++ /dev/null
@@ -1,485 +0,0 @@
-
-
-
-
- SVG PORN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A collection of svg logos for developers.
-
-
-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-
-
-
-
-
-
diff --git a/assets/logos.json b/assets/logos.json
new file mode 100644
index 0000000..20ac9ad
--- /dev/null
+++ b/assets/logos.json
@@ -0,0 +1,1162 @@
+{
+ "items": [
+ {
+ "name": "Angular",
+ "files": [
+ "angular-icon.svg",
+ "angular.svg"
+ ],
+ "shortname": "angular",
+ "url": "https://angularjs.org/"
+ },
+ {
+ "name": "Apache",
+ "files": [
+ "apache.svg"
+ ],
+ "shortname": "apache",
+ "url": "http://www.apache.org/"
+ },
+ {
+ "name": "Atom",
+ "files": [
+ "atom.svg"
+ ],
+ "shortname": "atom",
+ "url": "https://atom.io/"
+ },
+ {
+ "name": "Auth0",
+ "files": [
+ "auth0.svg"
+ ],
+ "shortname": "auth0",
+ "url": "https://auth0.com/"
+ },
+ {
+ "name": "Autoprefixer",
+ "files": [
+ "autoprefixer.svg"
+ ],
+ "shortname": "autoprefixer",
+ "url": "https://github.com/postcss/autoprefixer"
+ },
+ {
+ "name": "AWS",
+ "files": [
+ "aws.svg"
+ ],
+ "shortname": "aws",
+ "url": "http://aws.amazon.com/"
+ },
+ {
+ "name": "Babel",
+ "files": [
+ "babel.svg"
+ ],
+ "shortname": "babel",
+ "url": "https://babeljs.io/"
+ },
+ {
+ "name": "Backbone",
+ "files": [
+ "backbone-icon.svg",
+ "backbone.svg"
+ ],
+ "shortname": "backbone",
+ "url": "http://backbonejs.org/"
+ },
+ {
+ "name": "Shell",
+ "files": [
+ "bash.svg"
+ ],
+ "shortname": "bash",
+ "url": "https://www.gnu.org/software/bash/"
+ },
+ {
+ "name": "Bem",
+ "files": [
+ "bem.svg"
+ ],
+ "shortname": "bem",
+ "url": "https://en.bem.info/"
+ },
+ {
+ "name": "Bitbucket",
+ "files": [
+ "bitbucket.svg"
+ ],
+ "shortname": "bitbucket",
+ "url": "https://bitbucket.org/"
+ },
+ {
+ "name": "Blocs",
+ "files": [
+ "blocs.svg"
+ ],
+ "shortname": "blocs",
+ "url": "http://blocsapp.com/"
+ },
+ {
+ "name": "Bootstrap",
+ "files": [
+ "bootstrap.svg"
+ ],
+ "shortname": "bootstrap",
+ "url": "http://getbootstrap.com/"
+ },
+ {
+ "name": "Bower",
+ "files": [
+ "bower.svg"
+ ],
+ "shortname": "bower",
+ "url": "http://bower.io/"
+ },
+ {
+ "name": "Brackets",
+ "files": [
+ "brackets.svg"
+ ],
+ "shortname": "brackets",
+ "url": "http://brackets.io/"
+ },
+ {
+ "name": "Browserify",
+ "files": [
+ "browserify-icon.svg",
+ "browserify.svg"
+ ],
+ "shortname": "browserify",
+ "url": "http://browserify.org/"
+ },
+ {
+ "name": "BrowserStack",
+ "files": [
+ "browserstack.svg"
+ ],
+ "shortname": "browserstack",
+ "url": "https://www.browserstack.com/"
+ },
+ {
+ "name": "Capistrano",
+ "files": [
+ "capistrano.svg"
+ ],
+ "shortname": "capistrano",
+ "url": "http://capistranorb.com/"
+ },
+ {
+ "name": "Cassandra",
+ "files": [
+ "cassandra.svg"
+ ],
+ "shortname": "cassandra",
+ "url": "http://cassandra.apache.org/"
+ },
+ {
+ "name": "Chai",
+ "files": [
+ "chai.svg"
+ ],
+ "shortname": "chai",
+ "url": "http://chaijs.com/"
+ },
+ {
+ "name": "Chalk",
+ "files": [
+ "chalk.svg"
+ ],
+ "shortname": "chalk",
+ "url": "https://github.com/chalk/chalk"
+ },
+ {
+ "name": "Chef",
+ "files": [
+ "chef.svg"
+ ],
+ "shortname": "chef",
+ "url": "https://www.chef.io/"
+ },
+ {
+ "name": "Chrome",
+ "files": [
+ "chrome.svg"
+ ],
+ "shortname": "chrome",
+ "url": "http://www.google.com/chrome/"
+ },
+ {
+ "name": "Codepen",
+ "files": [
+ "codepen-icon.svg",
+ "codepen.svg"
+ ],
+ "shortname": "codepen",
+ "url": "http://codepen.io/"
+ },
+ {
+ "name": "Codeship",
+ "files": [
+ "codeship.svg"
+ ],
+ "shortname": "codeship",
+ "url": "https://codeship.com/"
+ },
+ {
+ "name": "CoffeeScript",
+ "files": [
+ "coffeescript.svg"
+ ],
+ "shortname": "coffeescript",
+ "url": "http://coffeescript.org/"
+ },
+ {
+ "name": "Compass",
+ "files": [
+ "compass.svg"
+ ],
+ "shortname": "compass",
+ "url": "http://compass-style.org/"
+ },
+ {
+ "name": "CouchDB",
+ "files": [
+ "couchdb.svg"
+ ],
+ "shortname": "couchdb",
+ "url": "http://couchdb.apache.org/"
+ },
+ {
+ "name": "Coveralls",
+ "files": [
+ "coveralls.svg"
+ ],
+ "shortname": "coveralls",
+ "url": "https://coveralls.io/"
+ },
+ {
+ "name": "Cross Browser Testing",
+ "files": [
+ "crossbrowsertesting.svg"
+ ],
+ "shortname": "crossbrowsertesting",
+ "url": "http://crossbrowsertesting.com/"
+ },
+ {
+ "name": "CSS3",
+ "files": [
+ "css-3.svg"
+ ],
+ "shortname": "css-3",
+ "url": "http://www.w3.org/TR/CSS/"
+ },
+ {
+ "name": "cssnext",
+ "files": [
+ "cssnext.svg"
+ ],
+ "shortname": "cssnext",
+ "url": "http://cssnext.io/"
+ },
+ {
+ "name": "D3",
+ "files": [
+ "d3.svg"
+ ],
+ "shortname": "d3",
+ "url": "http://d3js.org/"
+ },
+ {
+ "name": "Digital Ocean",
+ "files": [
+ "digital-ocean.svg"
+ ],
+ "shortname": "digital-ocean",
+ "url": "https://www.digitalocean.com/"
+ },
+ {
+ "name": "Django",
+ "files": [
+ "django.svg"
+ ],
+ "shortname": "django",
+ "url": "https://www.djangoproject.com/"
+ },
+ {
+ "name": "docker",
+ "files": [
+ "docker.svg"
+ ],
+ "shortname": "docker",
+ "url": "https://www.docker.com/"
+ },
+ {
+ "name": "Drupal",
+ "files": [
+ "drupal.svg"
+ ],
+ "shortname": "drupal",
+ "url": "https://www.drupal.org/"
+ },
+ {
+ "name": "Ember",
+ "files": [
+ "ember-tomster.svg",
+ "ember.svg"
+ ],
+ "shortname": "ember",
+ "url": "http://emberjs.com/"
+ },
+ {
+ "name": "Emmet",
+ "files": [
+ "emmet.svg"
+ ],
+ "shortname": "emmet",
+ "url": "http://emmet.io/"
+ },
+ {
+ "name": "Engine Yard",
+ "files": [
+ "engine-yard.svg"
+ ],
+ "shortname": "engine-yard",
+ "url": "https://www.engineyard.com/"
+ },
+ {
+ "name": "ES6",
+ "files": [
+ "es6.svg"
+ ],
+ "shortname": "es6",
+ "url": "http://www.ecmascript.org/"
+ },
+ {
+ "name": "Eslint",
+ "files": [
+ "eslint.svg"
+ ],
+ "shortname": "eslint",
+ "url": "http://eslint.org/"
+ },
+ {
+ "name": "Express",
+ "files": [
+ "express.svg"
+ ],
+ "shortname": "express",
+ "url": "http://expressjs.com/"
+ },
+ {
+ "name": "Firebase",
+ "files": [
+ "firebase.svg"
+ ],
+ "shortname": "firebase",
+ "url": "https://www.firebase.com/"
+ },
+ {
+ "name": "Firefox",
+ "files": [
+ "firefox.svg"
+ ],
+ "shortname": "firefox",
+ "url": "https://firefox.com/"
+ },
+ {
+ "name": "Flask",
+ "files": [
+ "flask.svg"
+ ],
+ "shortname": "flask",
+ "url": "http://flask.pocoo.org/"
+ },
+ {
+ "name": "flexible.gs",
+ "files": [
+ "flexible-gs.svg"
+ ],
+ "shortname": "flexible-gs",
+ "url": "http://flexible.gs/"
+ },
+ {
+ "name": "Flow",
+ "files": [
+ "flow.svg"
+ ],
+ "shortname": "flow",
+ "url": "http://flowtype.org/"
+ },
+ {
+ "name": "Flux",
+ "files": [
+ "flux.svg"
+ ],
+ "shortname": "flux",
+ "url": "https://facebook.github.io/flux/"
+ },
+ {
+ "name": "Forever",
+ "files": [
+ "forever.svg"
+ ],
+ "shortname": "forever",
+ "url": "https://github.com/foreverjs/forever"
+ },
+ {
+ "name": "Git",
+ "files": [
+ "git-icon.svg",
+ "git.svg"
+ ],
+ "shortname": "git",
+ "url": "https://git-scm.com/"
+ },
+ {
+ "name": "Github",
+ "files": [
+ "github-icon.svg",
+ "github.svg",
+ "github-octocat.svg"
+ ],
+ "shortname": "github",
+ "url": "https://github.com/"
+ },
+ {
+ "name": "Gitlab",
+ "files": [
+ "gitlab.svg"
+ ],
+ "shortname": "gitlab",
+ "url": "https://about.gitlab.com/"
+ },
+ {
+ "name": "Google Cloud",
+ "files": [
+ "google-cloud.svg"
+ ],
+ "shortname": "google-cloud",
+ "url": "https://cloud.google.com/"
+ },
+ {
+ "name": "Google Developers",
+ "files": [
+ "google-developers.svg"
+ ],
+ "shortname": "google-developers",
+ "url": "https://developers.google.com/"
+ },
+ {
+ "name": "Go",
+ "files": [
+ "gopher.svg"
+ ],
+ "shortname": "go",
+ "url": "https://golang.org/"
+ },
+ {
+ "name": "Grunt",
+ "files": [
+ "grunt.svg"
+ ],
+ "shortname": "grunt",
+ "url": "http://gruntjs.com/"
+ },
+ {
+ "name": "Gulp",
+ "files": [
+ "gulp.svg"
+ ],
+ "shortname": "gulp",
+ "url": "http://gulpjs.com/"
+ },
+ {
+ "name": "Haml",
+ "files": [
+ "haml.svg"
+ ],
+ "shortname": "haml",
+ "url": "http://haml.info/"
+ },
+ {
+ "name": "Handlebars",
+ "files": [
+ "handlebars.svg"
+ ],
+ "shortname": "handlebars",
+ "url": "http://handlebarsjs.com/"
+ },
+ {
+ "name": "hapi",
+ "files": [
+ "hapi.svg"
+ ],
+ "shortname": "hapi",
+ "url": "http://hapijs.com/"
+ },
+ {
+ "name": "Harrow",
+ "files": [
+ "harrow.svg"
+ ],
+ "shortname": "harrow",
+ "url": "https://www.harrow.io/"
+ },
+ {
+ "name": "Heroku",
+ "files": [
+ "heroku.svg"
+ ],
+ "shortname": "heroku",
+ "url": "https://www.heroku.com/"
+ },
+ {
+ "name": "HTML5",
+ "files": [
+ "html-5.svg"
+ ],
+ "shortname": "html-5",
+ "url": "http://www.w3.org/TR/html5/"
+ },
+ {
+ "name": "HTML5 Boilerplate",
+ "files": [
+ "html5-boilerplate.svg"
+ ],
+ "shortname": "html5-boilerplate",
+ "url": "https://html5boilerplate.com/"
+ },
+ {
+ "name": "Invision",
+ "files": [
+ "invision.svg"
+ ],
+ "shortname": "invision",
+ "url": "http://www.invisionapp.com/"
+ },
+ {
+ "name": "io.js",
+ "files": [
+ "io.svg"
+ ],
+ "shortname": "io",
+ "url": "https://iojs.org/"
+ },
+ {
+ "name": "Ionic",
+ "files": [
+ "ionic.svg"
+ ],
+ "shortname": "ionic",
+ "url": "http://ionicframework.com/"
+ },
+ {
+ "name": "Jade",
+ "files": [
+ "jade.svg"
+ ],
+ "shortname": "jade",
+ "url": "http://jade-lang.com/"
+ },
+ {
+ "name": "Jasmine",
+ "files": [
+ "jasmine.svg"
+ ],
+ "shortname": "jasmine",
+ "url": "http://jasmine.github.io/"
+ },
+ {
+ "name": "javascript (JS)",
+ "files": [
+ "javascript.svg"
+ ],
+ "shortname": "javascript",
+ "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript"
+ },
+ {
+ "name": "Jenkins",
+ "files": [
+ "jenkins.svg"
+ ],
+ "shortname": "jenkins",
+ "url": "https://jenkins-ci.org/"
+ },
+ {
+ "name": "JetBrains",
+ "files": [
+ "jetbrains.svg"
+ ],
+ "shortname": "jetbrains",
+ "url": "https://www.jetbrains.com/"
+ },
+ {
+ "name": "jQuery",
+ "files": [
+ "jquery.svg"
+ ],
+ "shortname": "jquery",
+ "url": "https://jquery.com/"
+ },
+ {
+ "name": "jsbin",
+ "files": [
+ "jsbin.svg"
+ ],
+ "shortname": "jsbin",
+ "url": "https://jsbin.com/"
+ },
+ {
+ "name": "JSON",
+ "files": [
+ "json.svg"
+ ],
+ "shortname": "json",
+ "url": "http://json.org/"
+ },
+ {
+ "name": "jspm",
+ "files": [
+ "jspm.svg"
+ ],
+ "shortname": "jspm",
+ "url": "http://jspm.io/"
+ },
+ {
+ "name": "Karma",
+ "files": [
+ "karma.svg"
+ ],
+ "shortname": "karma",
+ "url": "http://karma-runner.github.io/"
+ },
+ {
+ "name": "Keen IO",
+ "files": [
+ "keen.svg"
+ ],
+ "shortname": "keen",
+ "url": "http://keen.io/"
+ },
+ {
+ "name": "Kraken",
+ "files": [
+ "kraken.svg"
+ ],
+ "shortname": "kraken",
+ "url": "http://krakenjs.com/"
+ },
+ {
+ "name": "Laravel",
+ "files": [
+ "laravel.svg"
+ ],
+ "shortname": "laravel",
+ "url": "http://laravel.com/"
+ },
+ {
+ "name": "Leafjet",
+ "files": [
+ "leafjet.svg"
+ ],
+ "shortname": "leafjet",
+ "url": "http://leafletjs.com/"
+ },
+ {
+ "name": "Less",
+ "files": [
+ "less.svg"
+ ],
+ "shortname": "less",
+ "url": "http://lesscss.org/"
+ },
+ {
+ "name": "Lodash",
+ "files": [
+ "lodash.svg"
+ ],
+ "shortname": "lodash",
+ "url": "https://lodash.com/"
+ },
+ {
+ "name": "MariaDB",
+ "files": [
+ "mariadb.svg"
+ ],
+ "shortname": "mariadb",
+ "url": "https://mariadb.org/"
+ },
+ {
+ "name": "Marionette.js",
+ "files": [
+ "marionette.svg"
+ ],
+ "shortname": "marionette",
+ "url": "http://marionettejs.com/"
+ },
+ {
+ "name": "Markdown",
+ "files": [
+ "markdown.svg"
+ ],
+ "shortname": "markdown",
+ "url": "http://daringfireball.net/projects/markdown/"
+ },
+ {
+ "name": "Material UI",
+ "files": [
+ "material-ui.svg"
+ ],
+ "shortname": "material-ui",
+ "url": "http://material-ui.com/"
+ },
+ {
+ "name": "MDN",
+ "files": [
+ "mdn.svg"
+ ],
+ "shortname": "mdn",
+ "url": "https://developer.mozilla.org/"
+ },
+ {
+ "name": "Memcached",
+ "files": [
+ "memcached.svg"
+ ],
+ "shortname": "memcached",
+ "url": "http://memcached.org/"
+ },
+ {
+ "name": "Meteor",
+ "files": [
+ "meteor-icon.svg",
+ "meteor.svg"
+ ],
+ "shortname": "meteor",
+ "url": "https://www.meteor.com/"
+ },
+ {
+ "name": "Mocha",
+ "files": [
+ "mocha.svg"
+ ],
+ "shortname": "mocha",
+ "url": "http://mochajs.org/"
+ },
+ {
+ "name": "Modernizr",
+ "files": [
+ "modernizr.svg"
+ ],
+ "shortname": "modernizr",
+ "url": "http://modernizr.com/"
+ },
+ {
+ "name": "MongoDB",
+ "files": [
+ "mongodb.svg"
+ ],
+ "shortname": "mongodb",
+ "url": "https://www.mongodb.org/"
+ },
+ {
+ "name": "MySQL",
+ "files": [
+ "mysql.svg"
+ ],
+ "shortname": "mysql",
+ "url": "http://dev.mysql.com/"
+ },
+ {
+ "name": "NativeScript",
+ "files": [
+ "nativescript.svg"
+ ],
+ "shortname": "nativescript",
+ "url": "https://www.nativescript.org/"
+ },
+ {
+ "name": "NGINX",
+ "files": [
+ "nginx.svg"
+ ],
+ "shortname": "nginx",
+ "url": "https://www.nginx.com/"
+ },
+ {
+ "name": "Nodejitsu",
+ "files": [
+ "nodejitsu.svg"
+ ],
+ "shortname": "nodejitsu",
+ "url": "https://www.nodejitsu.com/"
+ },
+ {
+ "name": "Node.js",
+ "files": [
+ "nodejs-icon.svg",
+ "nodejs.svg"
+ ],
+ "shortname": "nodejs",
+ "url": "https://nodejs.org/"
+ },
+ {
+ "name": "nodemon",
+ "files": [
+ "nodemon.svg"
+ ],
+ "shortname": "nodemon",
+ "url": "http://nodemon.io/"
+ },
+ {
+ "name": "NPM",
+ "files": [
+ "npm.svg",
+ "npm-2.svg"
+ ],
+ "shortname": "npm",
+ "url": "https://www.npmjs.com/"
+ },
+ {
+ "name": "Nuclide",
+ "files": [
+ "nuclide.svg"
+ ],
+ "shortname": "nuclide",
+ "url": "http://nuclide.io/"
+ },
+ {
+ "name": "OAuth",
+ "files": [
+ "oauth.svg"
+ ],
+ "shortname": "oauth",
+ "url": "http://oauth.net/"
+ },
+ {
+ "name": "Open Graph",
+ "files": [
+ "open-graph.svg"
+ ],
+ "shortname": "open-graph",
+ "url": "http://ogp.me/"
+ },
+ {
+ "name": "OpenLayers",
+ "files": [
+ "openlayers.svg"
+ ],
+ "shortname": "openlayers",
+ "url": "http://openlayers.org/"
+ },
+ {
+ "name": "Optimizely",
+ "files": [
+ "optimizely.svg"
+ ],
+ "shortname": "optimizely",
+ "url": "https://www.optimizely.com/"
+ },
+ {
+ "name": "Passport",
+ "files": [
+ "passport.svg"
+ ],
+ "shortname": "passport",
+ "url": "http://passportjs.org/"
+ },
+ {
+ "name": "PhoneGap",
+ "files": [
+ "phonegap.svg",
+ "phonegap-bot.svg"
+ ],
+ "shortname": "phonegap",
+ "url": "http://phonegap.com/"
+ },
+ {
+ "name": "PHP",
+ "files": [
+ "php.svg"
+ ],
+ "shortname": "php",
+ "url": "http://php.net/"
+ },
+ {
+ "name": "Polymer",
+ "files": [
+ "polymer.svg"
+ ],
+ "shortname": "polymer",
+ "url": "https://www.polymer-project.org/1.0/"
+ },
+ {
+ "name": "PostgreSQL",
+ "files": [
+ "postgresql.svg"
+ ],
+ "shortname": "postgresql",
+ "url": "http://www.postgresql.org/"
+ },
+ {
+ "name": "Puppet",
+ "files": [
+ "puppet.svg"
+ ],
+ "shortname": "puppet",
+ "url": "https://puppetlabs.com/"
+ },
+ {
+ "name": "Python",
+ "files": [
+ "python.svg"
+ ],
+ "shortname": "python",
+ "url": "https://www.python.org/"
+ },
+ {
+ "name": "Q",
+ "files": [
+ "q.svg"
+ ],
+ "shortname": "q",
+ "url": "https://github.com/kriskowal/q"
+ },
+ {
+ "name": "Rails",
+ "files": [
+ "rails.svg"
+ ],
+ "shortname": "rails",
+ "url": "http://rubyonrails.org/"
+ },
+ {
+ "name": "Raphaël",
+ "files": [
+ "raphael.svg"
+ ],
+ "shortname": "raphael",
+ "url": "http://raphaeljs.com/"
+ },
+ {
+ "name": "React",
+ "files": [
+ "react.svg"
+ ],
+ "shortname": "react",
+ "url": "https://facebook.github.io/react/"
+ },
+ {
+ "name": "Redis",
+ "files": [
+ "redis.svg"
+ ],
+ "shortname": "redis",
+ "url": "http://redis.io/"
+ },
+ {
+ "name": "RequireJS",
+ "files": [
+ "require.svg"
+ ],
+ "shortname": "require",
+ "url": "http://requirejs.org/"
+ },
+ {
+ "name": "Rest",
+ "files": [
+ "rest.svg"
+ ],
+ "shortname": "rest",
+ "url": "https://en.wikipedia.org/wiki/Representational_state_transfer"
+ },
+ {
+ "name": "Ruby",
+ "files": [
+ "ruby.svg"
+ ],
+ "shortname": "ruby",
+ "url": "https://www.ruby-lang.org/"
+ },
+ {
+ "name": "RubyGems",
+ "files": [
+ "rubygems.svg"
+ ],
+ "shortname": "rubygems",
+ "url": "https://rubygems.org/"
+ },
+ {
+ "name": "Sass",
+ "files": [
+ "sass.svg"
+ ],
+ "shortname": "sass",
+ "url": "http://sass-lang.com/"
+ },
+ {
+ "name": "Scala",
+ "files": [
+ "scala.svg"
+ ],
+ "shortname": "scala",
+ "url": "http://www.scala-lang.org/"
+ },
+ {
+ "name": "Sinatra",
+ "files": [
+ "sinatra.svg"
+ ],
+ "shortname": "sinatra",
+ "url": "http://www.sinatrarb.com/"
+ },
+ {
+ "name": "Snap.svg",
+ "files": [
+ "snap-svg.svg"
+ ],
+ "shortname": "snap-svg",
+ "url": "http://snapsvg.io/"
+ },
+ {
+ "name": "Socket.io",
+ "files": [
+ "socket.io.svg"
+ ],
+ "shortname": "socket.io",
+ "url": "http://socket.io/"
+ },
+ {
+ "name": "Stack Overflow",
+ "files": [
+ "stackoverflow.svg"
+ ],
+ "shortname": "stackoverflow",
+ "url": "http://stackoverflow.com/"
+ },
+ {
+ "name": "Stylus",
+ "files": [
+ "stylus.svg"
+ ],
+ "shortname": "stylus",
+ "url": "https://learnboost.github.io/stylus/"
+ },
+ {
+ "name": "SVG",
+ "files": [
+ "svg.svg"
+ ],
+ "shortname": "svg",
+ "url": "http://www.w3.org/Graphics/SVG/"
+ },
+ {
+ "name": "Swift",
+ "files": [
+ "swift.svg"
+ ],
+ "shortname": "swift",
+ "url": "https://developer.apple.com/swift/"
+ },
+ {
+ "name": "Traackr",
+ "files": [
+ "traackr.svg"
+ ],
+ "shortname": "traackr",
+ "url": "http://traackr.com/"
+ },
+ {
+ "name": "Travis CI",
+ "files": [
+ "travis-ci-icon.svg",
+ "travis-ci.svg"
+ ],
+ "shortname": "travis-ci",
+ "url": "https://travis-ci.org/"
+ },
+ {
+ "name": "Vagrant",
+ "files": [
+ "vagrant.svg"
+ ],
+ "shortname": "vagrant",
+ "url": "https://www.vagrantup.com/"
+ },
+ {
+ "name": "Visual Studio",
+ "files": [
+ "visual-studio.svg"
+ ],
+ "shortname": "visual-studio",
+ "url": "https://www.visualstudio.com/"
+ },
+ {
+ "name": "Vue.js",
+ "files": [
+ "vue.svg"
+ ],
+ "shortname": "vue",
+ "url": "http://vuejs.org/"
+ },
+ {
+ "name": "W3C",
+ "files": [
+ "w3c.svg"
+ ],
+ "shortname": "w3c",
+ "url": "http://www.w3.org/"
+ },
+ {
+ "name": "webpack",
+ "files": [
+ "webpack.svg"
+ ],
+ "shortname": "webpack",
+ "url": "http://webpack.github.io/"
+ },
+ {
+ "name": "WebPlatform",
+ "files": [
+ "webplatform.svg"
+ ],
+ "shortname": "webplatform",
+ "url": "https://www.webplatform.org/"
+ },
+ {
+ "name": "Wercker",
+ "files": [
+ "wercker.svg"
+ ],
+ "shortname": "wercker",
+ "url": "http://wercker.com/"
+ },
+ {
+ "name": "Wordpress",
+ "files": [
+ "wordpress-icon.svg",
+ "wordpress.svg"
+ ],
+ "shortname": "wordpress",
+ "url": "https://wordpress.org/"
+ },
+ {
+ "name": "YCombinator",
+ "files": [
+ "ycombinator.svg"
+ ],
+ "shortname": "ycombinator",
+ "url": "http://www.ycombinator.com/"
+ },
+ {
+ "name": "Yeoman",
+ "files": [
+ "yeoman.svg"
+ ],
+ "shortname": "yeoman",
+ "url": "http://yeoman.io/"
+ }
+ ]
+}
diff --git a/assets/scripts/main.js b/assets/scripts/main.js
new file mode 100644
index 0000000..3a29f76
--- /dev/null
+++ b/assets/scripts/main.js
@@ -0,0 +1,23 @@
+function showName (e) {
+ var el = e.toElement;
+ el.parentNode.classList.add('visible');
+}
+
+function hideName (e) {
+ var el = e.fromElement;
+ el.parentNode.classList.remove('visible');
+}
+
+
+function enableTips () {
+ var elems = document.querySelectorAll('.logo-item img');
+ for (var i = 0; i < elems.length; i++) {
+ elems[i].addEventListener("mouseenter", showName, false);
+ elems[i].addEventListener("mouseleave", hideName, false);
+ }
+}
+
+document.addEventListener('DOMContentLoaded', function () {
+ enableTips();
+});
+
diff --git a/assets/styles/main.scss b/assets/styles/main.scss
index 2738e45..ecfa5d3 100644
--- a/assets/styles/main.scss
+++ b/assets/styles/main.scss
@@ -8,7 +8,7 @@ html {
body {
background-color: $bg-color;
- font-family: Helvetica Helvetica Neue, Helvetica, Arial, sans-serif;
+ font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
margin: 0;
min-height: 100%;
padding: 0;
@@ -70,13 +70,20 @@ header {
}
.logos {
- align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
+ list-style: none;
+ margin: 0 0 3rem;
+ padding: 0;
- > div {
- padding: 5vh 1vh;
+ > li {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-around;
+ padding: 8vh 1vh;
+ position: relative;
text-align: center;
width: 100%;
@@ -88,6 +95,29 @@ header {
width: percentage(1/3);
}
+ a {
+ display: block;
+ outline: none;
+
+ &.visible {
+ .name {
+ color: #444;
+ }
+ }
+ }
+
+ .name {
+ bottom: 0;
+ color: $bg-color;
+ font-size: 2rem;
+ font-weight: bold;
+ left: 0;
+ position: absolute;
+ right: 0;
+ text-decoration: none;
+ transition: color 0.3s;
+ }
+
img {
display: block;
margin: 0 auto;
diff --git a/assets/templates/README.handlebars b/assets/templates/README.handlebars
new file mode 100644
index 0000000..59a3a75
--- /dev/null
+++ b/assets/templates/README.handlebars
@@ -0,0 +1,24 @@
+SVG Logos
+====================
+### A collection of svg vector logos for developers.
+[View All](http://svgporn.com)
+
+The logos are optimized (removed unnecessary paths/groups/defs, standardized, etc). Some were recreated from rastered images.
+
+*All logos appearing on the site are the property of their respective owners. Any rights not expressly granted herein are reserved.*
+
+## Contributing
+Since I optimize all the files manually I won't accept pull requests with new logos.
+And that's why they look so good.
+
+Please add your requests in the issues preferably with links to the vector files.
+
+---
+
+{{#each this}}
+## {{name}}
+{{#each files}}
+
+
+{{/each}}
+{{/each}}
diff --git a/assets/templates/index.handlebars b/assets/templates/index.handlebars
index 751447b..e3d6668 100644
--- a/assets/templates/index.handlebars
+++ b/assets/templates/index.handlebars
@@ -4,7 +4,7 @@
SVG PORN
-
+
@@ -22,464 +22,32 @@
A collection of svg logos for developers.
-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
+
+ {{#each items}}
+ {{> item}}
+ {{/each}}
+
-
+
+
+
+
+
+