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 ![angular](http://gilbarbara.github.io/logos/angular-icon.svg) ![angular](http://gilbarbara.github.io/logos/angular.svg) -## Apache +## Apache ![apache](http://gilbarbara.github.io/logos/apache.svg) -## Atom +## Atom ![atom](http://gilbarbara.github.io/logos/atom.svg) -## auth0 +## Auth0 ![auth0](http://gilbarbara.github.io/logos/auth0.svg) -## Autoprefixer +## Autoprefixer ![autoprefixer](http://gilbarbara.github.io/logos/autoprefixer.svg) -## AWS +## AWS ![aws](http://gilbarbara.github.io/logos/aws.svg) -## Babel +## Babel ![babel](http://gilbarbara.github.io/logos/babel.svg) -## Backbone -![backbone-icon](http://gilbarbara.github.io/logos/backbone-icon.svg) +## Backbone +![backbone](http://gilbarbara.github.io/logos/backbone-icon.svg) ![backbone](http://gilbarbara.github.io/logos/backbone.svg) -## Bash, Zsh, Terminal +## Shell ![bash](http://gilbarbara.github.io/logos/bash.svg) -## BEM +## Bem ![bem](http://gilbarbara.github.io/logos/bem.svg) -## Blocs +## Bitbucket +![bitbucket](http://gilbarbara.github.io/logos/bitbucket.svg) + +## Blocs ![blocs](http://gilbarbara.github.io/logos/blocs.svg) -## Bootstrap +## Bootstrap ![bootstrap](http://gilbarbara.github.io/logos/bootstrap.svg) -## Bower +## Bower ![bower](http://gilbarbara.github.io/logos/bower.svg) -## Brackets +## Brackets ![brackets](http://gilbarbara.github.io/logos/brackets.svg) -## Browserify -![browserify-icons](http://gilbarbara.github.io/logos/browserify-icon.svg) +## Browserify +![browserify](http://gilbarbara.github.io/logos/browserify-icon.svg) ![browserify](http://gilbarbara.github.io/logos/browserify.svg) -## Browserstack +## BrowserStack ![browserstack](http://gilbarbara.github.io/logos/browserstack.svg) -## Capistrano +## Capistrano ![capistrano](http://gilbarbara.github.io/logos/capistrano.svg) -## Chalk -![chalk](http://gilbarbara.github.io/logos/chalk.svg) +## Cassandra +![cassandra](http://gilbarbara.github.io/logos/cassandra.svg) -## Chef -![chef](http://gilbarbara.github.io/logos/chef.svg) - -## Codeship -![codeship](http://gilbarbara.github.io/logos/codeship.svg) - -## couchDB -![couchDB](http://gilbarbara.github.io/logos/couchdb.svg) - -## chai +## Chai ![chai](http://gilbarbara.github.io/logos/chai.svg) -## chrome +## Chalk +![chalk](http://gilbarbara.github.io/logos/chalk.svg) + +## Chef +![chef](http://gilbarbara.github.io/logos/chef.svg) + +## Chrome ![chrome](http://gilbarbara.github.io/logos/chrome.svg) -## Codepen -![codepen-icon](http://gilbarbara.github.io/logos/codepen-icon.svg) +## Codepen +![codepen](http://gilbarbara.github.io/logos/codepen-icon.svg) ![codepen](http://gilbarbara.github.io/logos/codepen.svg) -## coffeescript +## Codeship +![codeship](http://gilbarbara.github.io/logos/codeship.svg) + +## CoffeeScript ![coffeescript](http://gilbarbara.github.io/logos/coffeescript.svg) -## Compass +## Compass ![compass](http://gilbarbara.github.io/logos/compass.svg) -## coveralls +## CouchDB +![couchdb](http://gilbarbara.github.io/logos/couchdb.svg) + +## Coveralls ![coveralls](http://gilbarbara.github.io/logos/coveralls.svg) -## Cross Browser Testing +## Cross Browser Testing ![crossbrowsertesting](http://gilbarbara.github.io/logos/crossbrowsertesting.svg) -## CSS3 +## CSS3 ![css-3](http://gilbarbara.github.io/logos/css-3.svg) -## D3 +## cssnext +![cssnext](http://gilbarbara.github.io/logos/cssnext.svg) + +## D3 ![d3](http://gilbarbara.github.io/logos/d3.svg) -## Digital Ocean +## Digital Ocean ![digital-ocean](http://gilbarbara.github.io/logos/digital-ocean.svg) -## Django +## Django ![django](http://gilbarbara.github.io/logos/django.svg) -## Docker +## docker ![docker](http://gilbarbara.github.io/logos/docker.svg) -## Drupal +## Drupal ![drupal](http://gilbarbara.github.io/logos/drupal.svg) -## Ember +## Ember +![ember](http://gilbarbara.github.io/logos/ember-tomster.svg) + ![ember](http://gilbarbara.github.io/logos/ember.svg) -![ember-tomster](http://gilbarbara.github.io/logos/ember-tomster.svg) - -## Emmet +## Emmet ![emmet](http://gilbarbara.github.io/logos/emmet.svg) -## Engine Yard +## Engine Yard ![engine-yard](http://gilbarbara.github.io/logos/engine-yard.svg) -## ES6 +## ES6 ![es6](http://gilbarbara.github.io/logos/es6.svg) -## eslint +## Eslint ![eslint](http://gilbarbara.github.io/logos/eslint.svg) -## express +## Express ![express](http://gilbarbara.github.io/logos/express.svg) -## firebase +## Firebase ![firebase](http://gilbarbara.github.io/logos/firebase.svg) -## Firefox +## Firefox ![firefox](http://gilbarbara.github.io/logos/firefox.svg) -## flask +## Flask ![flask](http://gilbarbara.github.io/logos/flask.svg) -## flow +## flexible.gs +![flexible-gs](http://gilbarbara.github.io/logos/flexible-gs.svg) + +## Flow ![flow](http://gilbarbara.github.io/logos/flow.svg) -## flux +## Flux ![flux](http://gilbarbara.github.io/logos/flux.svg) -## forever +## Forever ![forever](http://gilbarbara.github.io/logos/forever.svg) -## git -![git-icon](http://gilbarbara.github.io/logos/git-icon.svg) +## Git +![git](http://gilbarbara.github.io/logos/git-icon.svg) ![git](http://gilbarbara.github.io/logos/git.svg) -## github -![github-icon](http://gilbarbara.github.io/logos/github-icon.svg) +## Github +![github](http://gilbarbara.github.io/logos/github-icon.svg) ![github](http://gilbarbara.github.io/logos/github.svg) -![github-octocat](http://gilbarbara.github.io/logos/github-octocat.svg) +![github](http://gilbarbara.github.io/logos/github-octocat.svg) -## gitlab +## Gitlab ![gitlab](http://gilbarbara.github.io/logos/gitlab.svg) -## google cloud +## Google Cloud ![google-cloud](http://gilbarbara.github.io/logos/google-cloud.svg) -## google developers +## Google Developers ![google-developers](http://gilbarbara.github.io/logos/google-developers.svg) -## grunt +## Go +![go](http://gilbarbara.github.io/logos/gopher.svg) + +## Grunt ![grunt](http://gilbarbara.github.io/logos/grunt.svg) -## gulp +## Gulp ![gulp](http://gilbarbara.github.io/logos/gulp.svg) -## haml +## Haml ![haml](http://gilbarbara.github.io/logos/haml.svg) -## handlebars +## Handlebars ![handlebars](http://gilbarbara.github.io/logos/handlebars.svg) -## hapi +## hapi ![hapi](http://gilbarbara.github.io/logos/hapi.svg) -## harrow +## Harrow ![harrow](http://gilbarbara.github.io/logos/harrow.svg) -## heroku +## Heroku ![heroku](http://gilbarbara.github.io/logos/heroku.svg) -## HTML5 +## HTML5 ![html-5](http://gilbarbara.github.io/logos/html-5.svg) -## html5-boilerplate +## HTML5 Boilerplate ![html5-boilerplate](http://gilbarbara.github.io/logos/html5-boilerplate.svg) -## invision +## Invision ![invision](http://gilbarbara.github.io/logos/invision.svg) -## io +## io.js ![io](http://gilbarbara.github.io/logos/io.svg) -## ionic +## Ionic ![ionic](http://gilbarbara.github.io/logos/ionic.svg) -## jasmine +## Jade +![jade](http://gilbarbara.github.io/logos/jade.svg) + +## Jasmine ![jasmine](http://gilbarbara.github.io/logos/jasmine.svg) -## javascript +## javascript (JS) ![javascript](http://gilbarbara.github.io/logos/javascript.svg) -## jetbrains +## Jenkins +![jenkins](http://gilbarbara.github.io/logos/jenkins.svg) + +## JetBrains ![jetbrains](http://gilbarbara.github.io/logos/jetbrains.svg) -## jquery +## jQuery ![jquery](http://gilbarbara.github.io/logos/jquery.svg) -## json +## jsbin +![jsbin](http://gilbarbara.github.io/logos/jsbin.svg) + +## JSON ![json](http://gilbarbara.github.io/logos/json.svg) -## jspm +## jspm ![jspm](http://gilbarbara.github.io/logos/jspm.svg) -## karma +## Karma ![karma](http://gilbarbara.github.io/logos/karma.svg) -## kraken +## Keen IO +![keen](http://gilbarbara.github.io/logos/keen.svg) + +## Kraken ![kraken](http://gilbarbara.github.io/logos/kraken.svg) -## laravel +## Laravel ![laravel](http://gilbarbara.github.io/logos/laravel.svg) -## leafjet +## Leafjet ![leafjet](http://gilbarbara.github.io/logos/leafjet.svg) -## less +## Less ![less](http://gilbarbara.github.io/logos/less.svg) -## lodash +## Lodash ![lodash](http://gilbarbara.github.io/logos/lodash.svg) -## mariadb +## MariaDB ![mariadb](http://gilbarbara.github.io/logos/mariadb.svg) -## marionette +## Marionette.js ![marionette](http://gilbarbara.github.io/logos/marionette.svg) -## markdown +## Markdown ![markdown](http://gilbarbara.github.io/logos/markdown.svg) -## material-ui +## Material UI ![material-ui](http://gilbarbara.github.io/logos/material-ui.svg) -## MDN +## MDN ![mdn](http://gilbarbara.github.io/logos/mdn.svg) -## memcached +## Memcached ![memcached](http://gilbarbara.github.io/logos/memcached.svg) -## meteor +## Meteor ![meteor](http://gilbarbara.github.io/logos/meteor-icon.svg) ![meteor](http://gilbarbara.github.io/logos/meteor.svg) -## mocha +## Mocha ![mocha](http://gilbarbara.github.io/logos/mocha.svg) -## modernizr +## Modernizr ![modernizr](http://gilbarbara.github.io/logos/modernizr.svg) -## mongodb +## MongoDB ![mongodb](http://gilbarbara.github.io/logos/mongodb.svg) -## mysql +## MySQL ![mysql](http://gilbarbara.github.io/logos/mysql.svg) -## nativescript +## NativeScript ![nativescript](http://gilbarbara.github.io/logos/nativescript.svg) -## nginx +## NGINX ![nginx](http://gilbarbara.github.io/logos/nginx.svg) -## nodejitsu +## Nodejitsu ![nodejitsu](http://gilbarbara.github.io/logos/nodejitsu.svg) -## nodejs +## Node.js ![nodejs](http://gilbarbara.github.io/logos/nodejs-icon.svg) ![nodejs](http://gilbarbara.github.io/logos/nodejs.svg) -## nodemon +## nodemon ![nodemon](http://gilbarbara.github.io/logos/nodemon.svg) -## npm +## NPM ![npm](http://gilbarbara.github.io/logos/npm.svg) -![npm-2](http://gilbarbara.github.io/logos/npm-2.svg) +![npm](http://gilbarbara.github.io/logos/npm-2.svg) -## nuclide +## Nuclide ![nuclide](http://gilbarbara.github.io/logos/nuclide.svg) -## oauth +## OAuth ![oauth](http://gilbarbara.github.io/logos/oauth.svg) -## open graph +## Open Graph ![open-graph](http://gilbarbara.github.io/logos/open-graph.svg) -## openlayers +## OpenLayers ![openlayers](http://gilbarbara.github.io/logos/openlayers.svg) -## optimizely +## Optimizely ![optimizely](http://gilbarbara.github.io/logos/optimizely.svg) -## passport +## Passport ![passport](http://gilbarbara.github.io/logos/passport.svg) -## phonegap +## PhoneGap ![phonegap](http://gilbarbara.github.io/logos/phonegap.svg) -![phonegap-bot](http://gilbarbara.github.io/logos/phonegap-bot.svg) +![phonegap](http://gilbarbara.github.io/logos/phonegap-bot.svg) -## PHP +## PHP ![php](http://gilbarbara.github.io/logos/php.svg) -## polymer +## Polymer ![polymer](http://gilbarbara.github.io/logos/polymer.svg) -## postgresql +## PostgreSQL ![postgresql](http://gilbarbara.github.io/logos/postgresql.svg) -## puppet +## Puppet ![puppet](http://gilbarbara.github.io/logos/puppet.svg) -## Python +## Python ![python](http://gilbarbara.github.io/logos/python.svg) -## q +## Q ![q](http://gilbarbara.github.io/logos/q.svg) -## rails +## Rails ![rails](http://gilbarbara.github.io/logos/rails.svg) -## Raphaël +## Raphaël ![raphael](http://gilbarbara.github.io/logos/raphael.svg) -## React +## React ![react](http://gilbarbara.github.io/logos/react.svg) -## redis +## Redis ![redis](http://gilbarbara.github.io/logos/redis.svg) -## require +## RequireJS ![require](http://gilbarbara.github.io/logos/require.svg) -## rest +## Rest ![rest](http://gilbarbara.github.io/logos/rest.svg) -## Ruby +## Ruby ![ruby](http://gilbarbara.github.io/logos/ruby.svg) -## rubygems +## RubyGems ![rubygems](http://gilbarbara.github.io/logos/rubygems.svg) -## SASS +## Sass ![sass](http://gilbarbara.github.io/logos/sass.svg) -## Scala +## Scala ![scala](http://gilbarbara.github.io/logos/scala.svg) -## snap.svg -![snap.svg](http://gilbarbara.github.io/logos/snap-svg.svg) +## Sinatra +![sinatra](http://gilbarbara.github.io/logos/sinatra.svg) -## Socket.io +## Snap.svg +![snap-svg](http://gilbarbara.github.io/logos/snap-svg.svg) + +## Socket.io ![socket.io](http://gilbarbara.github.io/logos/socket.io.svg) -## Stack Overflow +## Stack Overflow ![stackoverflow](http://gilbarbara.github.io/logos/stackoverflow.svg) -## stylus +## Stylus ![stylus](http://gilbarbara.github.io/logos/stylus.svg) -## SVG +## SVG ![svg](http://gilbarbara.github.io/logos/svg.svg) -## swift +## Swift ![swift](http://gilbarbara.github.io/logos/swift.svg) -## traackr +## Traackr ![traackr](http://gilbarbara.github.io/logos/traackr.svg) -## travis -![travis](http://gilbarbara.github.io/logos/travis-ci.svg) +## Travis CI +![travis-ci](http://gilbarbara.github.io/logos/travis-ci-icon.svg) -![travis](http://gilbarbara.github.io/logos/travis-ci-icon.svg) +![travis-ci](http://gilbarbara.github.io/logos/travis-ci.svg) -## vagrant +## Vagrant ![vagrant](http://gilbarbara.github.io/logos/vagrant.svg) -## vue +## Visual Studio +![visual-studio](http://gilbarbara.github.io/logos/visual-studio.svg) + +## Vue.js ![vue](http://gilbarbara.github.io/logos/vue.svg) -## W3C +## W3C ![w3c](http://gilbarbara.github.io/logos/w3c.svg) -## web platform -![webplatform](http://gilbarbara.github.io/logos/webplatform.svg) - -## webpack +## webpack ![webpack](http://gilbarbara.github.io/logos/webpack.svg) -## wercker +## WebPlatform +![webplatform](http://gilbarbara.github.io/logos/webplatform.svg) + +## Wercker ![wercker](http://gilbarbara.github.io/logos/wercker.svg) -## wordpress -![wordpress-icon](http://gilbarbara.github.io/logos/wordpress-icon.svg) +## Wordpress +![wordpress](http://gilbarbara.github.io/logos/wordpress-icon.svg) ![wordpress](http://gilbarbara.github.io/logos/wordpress.svg) -## ycombinator +## YCombinator ![ycombinator](http://gilbarbara.github.io/logos/ycombinator.svg) -## yeoman +## Yeoman ![yeoman](http://gilbarbara.github.io/logos/yeoman.svg) + 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.

-
- -
-
- angular -
-
- angular -
-
- apache -
-
- atom -
-
- auth0 -
-
- autoprefixer -
-
- aws -
-
- babel -
-
- backbone -
-
- backbone -
-
- bash -
-
- BEM -
-
- blocs -
-
- bootstrap -
-
- bower -
-
- brackets -
-
- browserify -
-
- browserify -
-
- browserstack -
-
- capistrano -
-
- chai -
-
- chalk -
-
- chef -
-
- chrome -
-
- codepen -
-
- codepen -
-
- codeship -
-
- coffeescript -
-
- compass -
-
- couchdb -
-
- coveralls -
-
- crossbrowsertesting -
-
- css-3 -
-
- d3 -
-
- digital ocean -
-
- django -
-
- docker -
-
- drupal -
-
- ember -
-
- ember-tomster -
-
- engine yard -
-
- emmet -
-
- es6 -
-
- eslint -
-
- express -
-
- firebase -
-
- firefox -
-
- flask -
-
- flow -
-
- flux -
-
- forever -
-
- git -
-
- git -
-
- github -
-
- github -
-
- github-octocat -
-
- gitlab -
-
- google-cloud -
-
- google-developers -
-
- grunt -
-
- gulp -
-
- haml -
-
- handlebars -
-
- hapi -
-
- harrow -
-
- heroku -
-
- html-5 -
-
- html5-boilerplate -
-
- invision -
-
- io -
-
- ionic -
-
- jade -
-
- jasmine -
-
- javascript -
-
- jetbrains -
-
- jquery -
-
- json -
-
- jspm -
-
- karma -
-
- kraken -
-
- laravel -
-
- leafjet -
-
- less -
-
- lodash -
-
- maria db -
-
- marionette -
-
- markdown -
-
- material-ui -
-
- mdn -
-
- memcached -
-
- meteor -
-
- meteor -
-
- mocha -
-
- modernizr -
-
- mongo db -
-
- mysql -
-
- nativescript -
-
- nginx -
-
- nodejitsu -
-
- nodejs -
-
- nodejs -
-
- nodemon -
-
- npm -
-
- npm -
-
- nuclide -
-
- oauth -
-
- open-graph -
-
- openlayers -
-
- optimizely -
-
- passport -
-
- phonegap -
-
- phonegap-bot -
-
- php -
-
- polymer -
-
- postgresql -
-
- puppet -
-
- python -
-
- q -
-
- rails -
-
- raphael -
-
- react -
-
- requirejs -
-
- redis -
-
- rest -
-
- ruby -
-
- rubygems -
-
- sass -
-
- scala -
-
- snap-svg -
-
- socket.io -
-
- stack overflow -
-
- stylus -
-
- svg -
-
- swift -
-
- traackr -
-
- travis-ci -
-
- travis-ci -
-
- vagrant -
-
- vue -
-
- w3c -
-
- webpack -
-
- webplatform -
-
- wercker -
-
- wordpress -
-
- wordpress -
-
- ycombinator -
-
- yeoman -
-
- - -
- - - 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}} +![{{../shortname}}](http://gilbarbara.github.io/logos/{{this}}) + +{{/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.

-
-
- angular -
-
- angular -
-
- apache -
-
- atom -
-
- auth0 -
-
- autoprefixer -
-
- aws -
-
- babel -
-
- backbone -
-
- backbone -
-
- bash -
-
- BEM -
-
- blocs -
-
- bootstrap -
-
- bower -
-
- brackets -
-
- browserify -
-
- browserify -
-
- browserstack -
-
- capistrano -
-
- chai -
-
- chalk -
-
- chef -
-
- chrome -
-
- codepen -
-
- codepen -
-
- codeship -
-
- coffeescript -
-
- compass -
-
- couchdb -
-
- coveralls -
-
- crossbrowsertesting -
-
- css-3 -
-
- d3 -
-
- digital ocean -
-
- django -
-
- docker -
-
- drupal -
-
- ember -
-
- ember-tomster -
-
- engine yard -
-
- emmet -
-
- es6 -
-
- eslint -
-
- express -
-
- firebase -
-
- firefox -
-
- flask -
-
- flow -
-
- flux -
-
- forever -
-
- git -
-
- git -
-
- github -
-
- github -
-
- github-octocat -
-
- gitlab -
-
- google-cloud -
-
- google-developers -
-
- grunt -
-
- gulp -
-
- haml -
-
- handlebars -
-
- hapi -
-
- harrow -
-
- heroku -
-
- html-5 -
-
- html5-boilerplate -
-
- invision -
-
- io -
-
- ionic -
-
- jade -
-
- jasmine -
-
- javascript -
-
- jetbrains -
-
- jquery -
-
- json -
-
- jspm -
-
- karma -
-
- kraken -
-
- laravel -
-
- leafjet -
-
- less -
-
- lodash -
-
- maria db -
-
- marionette -
-
- markdown -
-
- material-ui -
-
- mdn -
-
- memcached -
-
- meteor -
-
- meteor -
-
- mocha -
-
- modernizr -
-
- mongo db -
-
- mysql -
-
- nativescript -
-
- nginx -
-
- nodejitsu -
-
- nodejs -
-
- nodejs -
-
- nodemon -
-
- npm -
-
- npm -
-
- nuclide -
-
- oauth -
-
- open-graph -
-
- openlayers -
-
- optimizely -
-
- passport -
-
- phonegap -
-
- phonegap-bot -
-
- php -
-
- polymer -
-
- postgresql -
-
- puppet -
-
- python -
-
- q -
-
- rails -
-
- raphael -
-
- react -
-
- requirejs -
-
- redis -
-
- rest -
-
- ruby -
-
- rubygems -
-
- sass -
-
- scala -
-
- snap-svg -
-
- socket.io -
-
- stack overflow -
-
- stylus -
-
- svg -
-
- swift -
-
- traackr -
-
- travis-ci -
-
- travis-ci -
-
- vagrant -
-
- vue -
-
- w3c -
-
- webpack -
-
- webplatform -
-
- wercker -
-
- wordpress -
-
- wordpress -
-
- ycombinator -
-
- yeoman -
-
+ - + + + + + + diff --git a/assets/templates/item.handlebars b/assets/templates/item.handlebars index 65767c0..8e94156 100644 --- a/assets/templates/item.handlebars +++ b/assets/templates/item.handlebars @@ -1,485 +1,6 @@ - - - - - SVG PORN - - - - - - - - - - - - - -
-
- -

A collection of svg logos for developers.

-
- -
-
- angular -
-
- angular -
-
- apache -
-
- atom -
-
- auth0 -
-
- autoprefixer -
-
- aws -
-
- babel -
-
- backbone -
-
- backbone -
-
- bash -
-
- BEM -
-
- blocs -
-
- bootstrap -
-
- bower -
-
- brackets -
-
- browserify -
-
- browserify -
-
- browserstack -
-
- capistrano -
-
- chai -
-
- chalk -
-
- chef -
-
- chrome -
-
- codepen -
-
- codepen -
-
- codeship -
-
- coffeescript -
-
- compass -
-
- couchdb -
-
- coveralls -
-
- crossbrowsertesting -
-
- css-3 -
-
- d3 -
-
- digital ocean -
-
- django -
-
- docker -
-
- drupal -
-
- ember -
-
- ember-tomster -
-
- engine yard -
-
- emmet -
-
- es6 -
-
- eslint -
-
- express -
-
- firebase -
-
- firefox -
-
- flask -
-
- flow -
-
- flux -
-
- forever -
-
- git -
-
- git -
-
- github -
-
- github -
-
- github-octocat -
-
- gitlab -
-
- google-cloud -
-
- google-developers -
-
- grunt -
-
- gulp -
-
- haml -
-
- handlebars -
-
- hapi -
-
- harrow -
-
- heroku -
-
- html-5 -
-
- html5-boilerplate -
-
- invision -
-
- io -
-
- ionic -
-
- jade -
-
- jasmine -
-
- javascript -
-
- jetbrains -
-
- jquery -
-
- json -
-
- jspm -
-
- karma -
-
- kraken -
-
- laravel -
-
- leafjet -
-
- less -
-
- lodash -
-
- maria db -
-
- marionette -
-
- markdown -
-
- material-ui -
-
- mdn -
-
- memcached -
-
- meteor -
-
- meteor -
-
- mocha -
-
- modernizr -
-
- mongo db -
-
- mysql -
-
- nativescript -
-
- nginx -
-
- nodejitsu -
-
- nodejs -
-
- nodejs -
-
- nodemon -
-
- npm -
-
- npm -
-
- nuclide -
-
- oauth -
-
- open-graph -
-
- openlayers -
-
- optimizely -
-
- passport -
-
- phonegap -
-
- phonegap-bot -
-
- php -
-
- polymer -
-
- postgresql -
-
- puppet -
-
- python -
-
- q -
-
- rails -
-
- raphael -
-
- react -
-
- requirejs -
-
- redis -
-
- rest -
-
- ruby -
-
- rubygems -
-
- sass -
-
- scala -
-
- snap-svg -
-
- socket.io -
-
- stack overflow -
-
- stylus -
-
- svg -
-
- swift -
-
- traackr -
-
- travis-ci -
-
- travis-ci -
-
- vagrant -
-
- vue -
-
- w3c -
-
- webpack -
-
- webplatform -
-
- wercker -
-
- wordpress -
-
- wordpress -
-
- ycombinator -
-
- yeoman -
-
- - -
- - - +
  • + + {{name}} + {{name}} + +
  • diff --git a/gulpfile.js b/gulpfile.js index 6277a6d..d4039b3 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -2,6 +2,7 @@ var gulp = require('gulp'), $ = require('gulp-load-plugins')(), browserSync = require('browser-sync'), del = require('del'), + fs = require('fs'), runSequence = require('run-sequence'); gulp.task('styles', function () { @@ -18,13 +19,45 @@ gulp.task('styles', function () { }); gulp.task('templates', function () { + var json = JSON.parse(fs.readFileSync('./assets/logos.json')), + templateData = { + items: [] + }, + meta = []; + + json.items.forEach(function (d) { + meta.push(d.name); + + d.files.forEach(function (f) { + templateData.items.push({ + name: d.name, + shortname: d.shortname, + url: d.url, + image: f + }); + }); + }); + templateData.meta = meta.join(', '); + return gulp.src('assets/templates/index.handlebars') - .pipe($.compileHandlebars()) + .pipe($.compileHandlebars(templateData, { + batch: ['./assets/templates'] + })) .pipe($.rename('index.html')) - .pipe($.debug()) .pipe(gulp.dest('.tmp')); }); +gulp.task('readme', function () { + var json = JSON.parse(fs.readFileSync('./assets/logos.json')); + + return gulp.src('assets/templates/README.handlebars') + .pipe($.compileHandlebars(json.items, { + batch: ['./assets/templates'] + })) + .pipe($.rename('README.md')) + .pipe(gulp.dest('./')); +}); + gulp.task('copy', function () { return gulp.src('assets/media/**/*') .pipe(gulp.dest('.tmp')); @@ -36,6 +69,7 @@ gulp.task('bundle', function () { return gulp.src('.tmp/*.html') .pipe(assets) .pipe($.if('*.css', $.cssmin())) + .pipe($.if('*.js', $.uglify())) .pipe(assets.restore()) .pipe($.useref()) .pipe($.replace('../logos/', '')) @@ -50,7 +84,7 @@ gulp.task('serve', ['clean', 'templates', 'copy', 'styles'], function () { browserSync({ notify: false, logPrefix: 'logos', - files: ['assets/*.html', '.tmp/*.css', 'logos'], + files: ['.tmp/*.html', '.tmp/*.css', 'logos', 'assets/scripts/*.js'], server: { baseDir: ['./', '.tmp', 'assets'] } @@ -61,18 +95,28 @@ gulp.task('serve', ['clean', 'templates', 'copy', 'styles'], function () { gulp.start('styles'); } }); + gulp.watch(['assets/templates/**/*', 'assets/logos.json'], ['templates']); }); gulp.task('build', function (cb) { - runSequence('templates', 'bundle', 'styles', cb); + runSequence('readme', 'templates', 'bundle', 'styles', cb); }); gulp.task('deploy', ['build'], function () { - return gulp.src(['logos/*.svg', '.tmp/*.html', '.tmp/main.css', 'assets/media/**/*', 'assets/CNAME', '*.md']) - .pipe($.ghPages({ - force: true - })); + return gulp.src([ + 'logos/*.svg', + '.tmp/*.html', + '.tmp/main.css', + '.tmp/main.js', + 'assets/media/**/*', + 'assets/CNAME', + '*.md' + ]) + /* .pipe($.ghPages({ + force: true + }));*/ + .pipe(gulp.dest('dist')); }); diff --git a/package.json b/package.json index 3a08df5..60b0f6f 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "gulp-rename": "^1.2.2", "gulp-replace": "^0.5", "gulp-sass": "^2.0", + "gulp-uglify": "^1.2.0", "gulp-useref": "^1.2", "run-sequence": "^1.1.1" },