Repository: badges/shields
Pull request #2857 (2019-01-23 21:57:49)

Delete some of our logos (part 1); affects [endpoint]
Refs #2510

I'm going to delete or change some more logos in a further PR or two, but lets start off with the (hopefully) non-controversial ones. I think in all of these cases it is fairly clear-cut that we are not losing anything by removing our icon in favour of simple-icons now that we apply a sensible colour by default.

| Before | After |
|---|---|
| ![](https://svgshare.com/i/AhD.svg) | ![](https://svgshare.com/i/Ajz.svg) |
| ![](https://svgshare.com/i/Ahw.svg) | ![](https://svgshare.com/i/AkA.svg) |
| ![](https://svgshare.com/i/Aiz.svg) | ![](https://svgshare.com/i/AiQ.svg) |
| ![](https://svgshare.com/i/AjS.svg) | ![](https://svgshare.com/i/Ak0.svg) |
| ![](https://svgshare.com/i/AjT.svg) | ![](https://svgshare.com/i/AjU.svg) |
| ![](https://svgshare.com/i/AiK.svg) | ![](https://svgshare.com/i/Aj2.svg) |
| ![](https://svgshare.com/i/AjG.svg) | ![](https://svgshare.com/i/AkB.svg) |
| ![](https://svgshare.com/i/Aio.svg) | ![](https://svgshare.com/i/Ak1.svg) |
| ![](https://svgshare.com/i/Aip.svg) | ![](https://svgshare.com/i/AkC.svg) |
| ![](https://svgshare.com/i/Ajc.svg) | ![](https://svgshare.com/i/Aif.svg) |
| ![](https://svgshare.com/i/AiN.svg) | ![](https://svgshare.com/i/AiR.svg) |
| ![](https://svgshare.com/i/Agr.svg) | ![](https://svgshare.com/i/Aj8.svg) |
| ![](https://svgshare.com/i/Aie.svg) | ![](https://svgshare.com/i/Aj3.svg) `*` |
| ![](https://svgshare.com/i/Ajd.svg) | ![](https://svgshare.com/i/AjV.svg) |
| ![](https://svgshare.com/i/AiP.svg) | ![](https://svgshare.com/i/Aiq.svg) |
| ![](https://svgshare.com/i/Ajo.svg) | ![](https://svgshare.com/i/AkD.svg) |
| ![](https://svgshare.com/i/Ahx.svg) | ![](https://svgshare.com/i/AkE.svg) |
| ![](https://svgshare.com/i/Aj0.svg) | ![](https://svgshare.com/i/Aig.svg) |
| ![](https://svgshare.com/i/AjH.svg) | ![](https://svgshare.com/i/Aj9.svg) |

`*` Note this one is out-of-date now, but there's a PR open to update to the new slack logo: https://github.com/simple-icons/simple-icons/pull/1172 This is one of the other nice things about not maintaining our own logos.

There are a few more to go, but I'll be quite glad when I don't need to make any more of these tables! :)

shields-ci: 
<!--
  0 failure: 
  1 warning:  This PR modified ...
  1 messages
  
  DangerID: danger-id-default;
-->


<table>
  <thead>
    <tr>
      <th width="50"></th>
      <th width="100%" data-danger-table="true">Warnings</th>
    </tr>
  </thead>
  <tbody><tr>
      <td>:warning:</td>
      <td>

  This PR modified helper functions in `lib/` but not accompanying tests. <br>That's okay so long as it's refactoring existing code.
  </td>
    </tr>
  </tbody>
</table>


<table>
  <thead>
    <tr>
      <th width="50"></th>
      <th width="100%" data-danger-table="true">Messages</th>
    </tr>
  </thead>
  <tbody><tr>
      <td>:book:</td>
      <td>:sparkles: Thanks for your contribution to Shields, @chris48s!</td>
    </tr>
  </tbody>
</table>


<p align="right">
  Generated by :no_entry_sign: <a href="https://danger.systems/js">dangerJS</a> against 3e23501bb269aba4cdcdb0726e1c75682ac75e27
</p>

chris48s: Gah - I'd forgotten that there are some tests and services which directly reference logos - thanks, Continuous Integration! I'll come back to this and get all the tests passing tomorrow. The visuals shouldn't change though.
RedSparr0w: Nice work on this, looking really good :+1:
paulmelnikow: Nice! The tables really are so much work, it's cool this is moving ahead.

Re two of these:
- I think the shape of our telegram logo looks better. They seem mix 3d-looking logos with flat-looking ones (like the simple-icons version). I suppose since their favicon looks a lot like the simpleicons logo we may as well use the flat version.
- I think our multicolor bitcoin looks better and it's traditionally orange with white. Can we keep this one around with the multicolor logos?
chris48s: mostly non-controversial ;)

Patch:
diff --git a/core/base-service/coalesce-badge.spec.js b/core/base-service/coalesce-badge.spec.js
index 4c9ba4ba06..71bf04ec34 100644
--- a/core/base-service/coalesce-badge.spec.js
+++ b/core/base-service/coalesce-badge.spec.js
@@ -1,7 +1,7 @@
 'use strict'
 
 const { expect } = require('chai')
-const { getShieldsIcon } = require('../../lib/logos')
+const { getShieldsIcon, getSimpleIcon } = require('../../lib/logos')
 const coalesceBadge = require('./coalesce-badge')
 
 describe('coalesceBadge', function() {
@@ -118,43 +118,43 @@ describe('coalesceBadge', function() {
       // .not.be.empty for confidence that nothing has changed with `getShieldsIcon()`.
       expect(
         coalesceBadge({ style: 'social' }, {}, { namedLogo: 'appveyor' }).logo
-      ).to.equal(getShieldsIcon({ name: 'appveyor' })).and.not.be.empty
+      ).to.equal(getSimpleIcon({ name: 'appveyor' })).and.not.be.empty
     })
 
     it('applies the named logo', function() {
-      expect(coalesceBadge({}, { namedLogo: 'github' }, {}).logo).to.equal(
-        getShieldsIcon({ name: 'github' })
+      expect(coalesceBadge({}, { namedLogo: 'npm' }, {}).logo).to.equal(
+        getShieldsIcon({ name: 'npm' })
       ).and.not.to.be.empty
     })
 
     it('applies the named logo with color', function() {
       expect(
-        coalesceBadge({}, { namedLogo: 'github', logoColor: 'blue' }, {}).logo
-      ).to.equal(getShieldsIcon({ name: 'github', color: 'blue' })).and.not.to
-        .be.empty
+        coalesceBadge({}, { namedLogo: 'npm', logoColor: 'blue' }, {}).logo
+      ).to.equal(getShieldsIcon({ name: 'npm', color: 'blue' })).and.not.to.be
+        .empty
     })
 
     it('overrides the logo', function() {
       expect(
-        coalesceBadge({ logo: 'github' }, { namedLogo: 'appveyor' }, {}).logo
-      ).to.equal(getShieldsIcon({ name: 'github' })).and.not.be.empty
+        coalesceBadge({ logo: 'npm' }, { namedLogo: 'appveyor' }, {}).logo
+      ).to.equal(getShieldsIcon({ name: 'npm' })).and.not.be.empty
     })
 
     it('overrides the logo with a color', function() {
       expect(
         coalesceBadge(
-          { logo: 'github', logoColor: 'blue' },
+          { logo: 'npm', logoColor: 'blue' },
           { namedLogo: 'appveyor' },
           {}
         ).logo
-      ).to.equal(getShieldsIcon({ name: 'github', color: 'blue' })).and.not.be
+      ).to.equal(getShieldsIcon({ name: 'npm', color: 'blue' })).and.not.be
         .empty
     })
 
     it("when the logo is overridden, it ignores the service's logo color, position, and width", function() {
       expect(
         coalesceBadge(
-          { logo: 'github' },
+          { logo: 'npm' },
           {
             namedLogo: 'appveyor',
             logoColor: 'red',
@@ -163,17 +163,17 @@ describe('coalesceBadge', function() {
           },
           {}
         ).logo
-      ).to.equal(getShieldsIcon({ name: 'github' })).and.not.be.empty
+      ).to.equal(getShieldsIcon({ name: 'npm' })).and.not.be.empty
     })
 
     it("overrides the service logo's color", function() {
       expect(
         coalesceBadge(
           { logoColor: 'blue' },
-          { namedLogo: 'github', logoColor: 'red' },
+          { namedLogo: 'npm', logoColor: 'red' },
           {}
         ).logo
-      ).to.equal(getShieldsIcon({ name: 'github', color: 'blue' })).and.not.be
+      ).to.equal(getShieldsIcon({ name: 'npm', color: 'blue' })).and.not.be
         .empty
     })
   })
@@ -205,7 +205,7 @@ describe('coalesceBadge', function() {
 
     it('applies the logo width', function() {
       expect(
-        coalesceBadge({}, { namedLogo: 'github', logoWidth: 275 }, {}).logoWidth
+        coalesceBadge({}, { namedLogo: 'npm', logoWidth: 275 }, {}).logoWidth
       ).to.equal(275)
     })
   })
@@ -219,7 +219,7 @@ describe('coalesceBadge', function() {
 
     it('applies the logo position', function() {
       expect(
-        coalesceBadge({}, { namedLogo: 'github', logoPosition: -10 }, {})
+        coalesceBadge({}, { namedLogo: 'npm', logoPosition: -10 }, {})
           .logoPosition
       ).to.equal(-10)
     })
diff --git a/lib/logos.js b/lib/logos.js
index f9324fc06a..8afd1a0a60 100644
--- a/lib/logos.js
+++ b/lib/logos.js
@@ -7,6 +7,15 @@ const { svg2base64 } = require('./svg-helpers')
 const logos = require('./load-logos')()
 const simpleIcons = require('./load-simple-icons')()
 
+// for backwards-compatibility with deleted logos
+const logoAliases = {
+  azuredevops: 'azure-devops',
+  eclipse: 'eclipse-ide',
+  'gitter-white': 'gitter',
+  stackoverflow: 'stack-overflow',
+  tfs: 'azure-devops',
+}
+
 function prependPrefix(s, prefix) {
   if (s === undefined) {
     return undefined
@@ -81,7 +90,10 @@ function getSimpleIconStyle({ icon, style }) {
 }
 
 function getSimpleIcon({ name, color, style }) {
-  const key = name.toLowerCase().replace(/ /g, '-')
+  let key = name.toLowerCase().replace(/ /g, '-')
+  if (key in logoAliases) {
+    key = logoAliases[key]
+  }
 
   if (!(key in simpleIcons)) {
     return undefined
@@ -127,5 +139,6 @@ module.exports = {
   decodeDataUrlFromQueryParam,
   prepareNamedLogo,
   getShieldsIcon,
+  getSimpleIcon,
   makeLogo,
 }
diff --git a/lib/logos.spec.js b/lib/logos.spec.js
index cf0f044493..4ad07d442a 100644
--- a/lib/logos.spec.js
+++ b/lib/logos.spec.js
@@ -26,11 +26,11 @@ describe('Logo helpers', function() {
   test(prepareNamedLogo, () => {
     // These two strings are identical except for characters 159-165 which
     // differ.
-    given({ name: 'github' }).expect(
-      'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMTIgMTIgNDAgNDAiPgo8cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNMzIsMTMuNGMtMTAuNSwwLTE5LDguNS0xOSwxOWMwLDguNCw1LjUsMTUuNSwxMywxOGMxLDAuMiwxLjMtMC40LDEuMy0wLjljMC0wLjUsMC0xLjcsMC0zLjIgYy01LjMsMS4xLTYuNC0yLjYtNi40LTIuNkMyMCw0MS42LDE4LjgsNDEsMTguOCw0MWMtMS43LTEuMiwwLjEtMS4xLDAuMS0xLjFjMS45LDAuMSwyLjksMiwyLjksMmMxLjcsMi45LDQuNSwyLjEsNS41LDEuNiBjMC4yLTEuMiwwLjctMi4xLDEuMi0yLjZjLTQuMi0wLjUtOC43LTIuMS04LjctOS40YzAtMi4xLDAuNy0zLjcsMi01LjFjLTAuMi0wLjUtMC44LTIuNCwwLjItNWMwLDAsMS42LTAuNSw1LjIsMiBjMS41LTAuNCwzLjEtMC43LDQuOC0wLjdjMS42LDAsMy4zLDAuMiw0LjcsMC43YzMuNi0yLjQsNS4yLTIsNS4yLTJjMSwyLjYsMC40LDQuNiwwLjIsNWMxLjIsMS4zLDIsMywyLDUuMWMwLDcuMy00LjUsOC45LTguNyw5LjQgYzAuNywwLjYsMS4zLDEuNywxLjMsMy41YzAsMi42LDAsNC42LDAsNS4yYzAsMC41LDAuNCwxLjEsMS4zLDAuOWM3LjUtMi42LDEzLTkuNywxMy0xOC4xQzUxLDIxLjksNDIuNSwxMy40LDMyLDEzLjR6Ii8+Cjwvc3ZnPgo='
+    given({ name: 'npm' }).expect(
+      'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZD0iTTAgMGg0MHY0MEgwVjB6IiBmaWxsPSIjY2IwMDAwIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTcgN2gyNnYyNmgtN1YxNGgtNnYxOUg3eiIvPjwvc3ZnPgo='
     )
-    given({ name: 'github', color: 'blue' }).expect(
-      'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMTIgMTIgNDAgNDAiPgo8cGF0aCBmaWxsPSIjMDA3ZWM2IiBkPSJNMzIsMTMuNGMtMTAuNSwwLTE5LDguNS0xOSwxOWMwLDguNCw1LjUsMTUuNSwxMywxOGMxLDAuMiwxLjMtMC40LDEuMy0wLjljMC0wLjUsMC0xLjcsMC0zLjIgYy01LjMsMS4xLTYuNC0yLjYtNi40LTIuNkMyMCw0MS42LDE4LjgsNDEsMTguOCw0MWMtMS43LTEuMiwwLjEtMS4xLDAuMS0xLjFjMS45LDAuMSwyLjksMiwyLjksMmMxLjcsMi45LDQuNSwyLjEsNS41LDEuNiBjMC4yLTEuMiwwLjctMi4xLDEuMi0yLjZjLTQuMi0wLjUtOC43LTIuMS04LjctOS40YzAtMi4xLDAuNy0zLjcsMi01LjFjLTAuMi0wLjUtMC44LTIuNCwwLjItNWMwLDAsMS42LTAuNSw1LjIsMiBjMS41LTAuNCwzLjEtMC43LDQuOC0wLjdjMS42LDAsMy4zLDAuMiw0LjcsMC43YzMuNi0yLjQsNS4yLTIsNS4yLTJjMSwyLjYsMC40LDQuNiwwLjIsNWMxLjIsMS4zLDIsMywyLDUuMWMwLDcuMy00LjUsOC45LTguNyw5LjQgYzAuNywwLjYsMS4zLDEuNywxLjMsMy41YzAsMi42LDAsNC42LDAsNS4yYzAsMC41LDAuNCwxLjEsMS4zLDAuOWM3LjUtMi42LDEzLTkuNywxMy0xOC4xQzUxLDIxLjksNDIuNSwxMy40LDMyLDEzLjR6Ii8+Cjwvc3ZnPgo='
+    given({ name: 'npm', color: 'blue' }).expect(
+      'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZD0iTTAgMGg0MHY0MEgwVjB6IiBmaWxsPSIjMDA3ZWM2Ii8+PHBhdGggZmlsbD0iIzAwN2VjNiIgZD0iTTcgN2gyNnYyNmgtN1YxNGgtNnYxOUg3eiIvPjwvc3ZnPgo='
     )
 
     it('preserves color if light logo on dark background', function() {
@@ -95,8 +95,8 @@ describe('Logo helpers', function() {
     forCases([given('npm', { logo: '' }), given(undefined, {})]).expect(
       undefined
     )
-    given('github', {}).expect(
-      'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMTIgMTIgNDAgNDAiPgo8cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNMzIsMTMuNGMtMTAuNSwwLTE5LDguNS0xOSwxOWMwLDguNCw1LjUsMTUuNSwxMywxOGMxLDAuMiwxLjMtMC40LDEuMy0wLjljMC0wLjUsMC0xLjcsMC0zLjIgYy01LjMsMS4xLTYuNC0yLjYtNi40LTIuNkMyMCw0MS42LDE4LjgsNDEsMTguOCw0MWMtMS43LTEuMiwwLjEtMS4xLDAuMS0xLjFjMS45LDAuMSwyLjksMiwyLjksMmMxLjcsMi45LDQuNSwyLjEsNS41LDEuNiBjMC4yLTEuMiwwLjctMi4xLDEuMi0yLjZjLTQuMi0wLjUtOC43LTIuMS04LjctOS40YzAtMi4xLDAuNy0zLjcsMi01LjFjLTAuMi0wLjUtMC44LTIuNCwwLjItNWMwLDAsMS42LTAuNSw1LjIsMiBjMS41LTAuNCwzLjEtMC43LDQuOC0wLjdjMS42LDAsMy4zLDAuMiw0LjcsMC43YzMuNi0yLjQsNS4yLTIsNS4yLTJjMSwyLjYsMC40LDQuNiwwLjIsNWMxLjIsMS4zLDIsMywyLDUuMWMwLDcuMy00LjUsOC45LTguNyw5LjQgYzAuNywwLjYsMS4zLDEuNywxLjMsMy41YzAsMi42LDAsNC42LDAsNS4yYzAsMC41LDAuNCwxLjEsMS4zLDAuOWM3LjUtMi42LDEzLTkuNywxMy0xOC4xQzUxLDIxLjksNDIuNSwxMy40LDMyLDEzLjR6Ii8+Cjwvc3ZnPgo='
+    given('npm', {}).expect(
+      'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZD0iTTAgMGg0MHY0MEgwVjB6IiBmaWxsPSIjY2IwMDAwIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTcgN2gyNnYyNmgtN1YxNGgtNnYxOUg3eiIvPjwvc3ZnPgo='
     )
   })
 })
diff --git a/logo/appveyor.svg b/logo/appveyor.svg
deleted file mode 100644
index 7c36860e13..0000000000
--- a/logo/appveyor.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
-<path fill="#ddd" d="M20 0c11 0 20 9 20 20s-9 20-20 20S0 31 0 20 9 0 20 0zm4.9 23.9c2.2-2.8 1.9-6.8-.9-8.9-2.7-2.1-6.7-1.6-9 1.2-2.2 2.8-1.9 6.8.9 8.9 2.8 2.1 6.8 1.6 9-1.2zm-10.7 13c1.2.5 3.8 1 5.1 1L28 25.3c2.8-4.2 2.1-9.9-1.8-13-3.5-2.8-8.4-2.7-11.9 0L2.2 21.6c.3 3.2 1.2 4.8 1.2 4.9l6.9-7.5c-.5 3.3.7 6.7 3.5 8.8 2.4 1.9 5.3 2.4 8.1 1.8l-7.7 7.3z"/>
-</svg>
\ No newline at end of file
diff --git a/logo/azuredevops.svg b/logo/azuredevops.svg
deleted file mode 100644
index 14b04d910f..0000000000
--- a/logo/azuredevops.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M0 23.522l5.97-7.88L28.3 6.567V0L47.88 14.328l-40 7.762v21.85L0 41.672zM63.761 11.701v38.926L48.478 63.642l-24.717-8.12v8.12L7.881 43.94l40 4.776V14.328z" fill="#ffffff"/></svg>
diff --git a/logo/circleci.svg b/logo/circleci.svg
deleted file mode 100644
index 05099fb880..0000000000
--- a/logo/circleci.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><path fill="#fff" d="M74.7 100c0-13.2 10.7-23.8 23.8-23.8 13.1 0 23.8 10.7 23.8 23.8 0 13.1-10.7 23.8-23.8 23.8-13.1 0-23.8-10.7-23.8-23.8zM98.5 0C51.8 0 12.7 32 1.6 75.2c-.1.3-.1.6-.1 1 0 2.6 2.1 4.8 4.8 4.8h40.3c1.9 0 3.6-1.1 4.3-2.8 8.3-18 26.5-30.6 47.6-30.6 28.9 0 52.4 23.5 52.4 52.4s-23.5 52.4-52.4 52.4c-21.1 0-39.3-12.5-47.6-30.6-.8-1.6-2.4-2.8-4.3-2.8H6.3c-2.6 0-4.8 2.1-4.8 4.8 0 .3.1.6.1 1C12.6 168 51.8 200 98.5 200c55.2 0 100-44.8 100-100S153.7 0 98.5 0z"/></svg>
diff --git a/logo/codeship.svg b/logo/codeship.svg
deleted file mode 100644
index ea980770a2..0000000000
--- a/logo/codeship.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="2 2 16 16"><path fill="rgba(255,255,255,0.6)" d="M5.277 10.746c-.777 0-1.677.285-2.623 1.146.092.323.2.631.33.939a.72.72 0 0 1 .285-.054c.577 0 1.223.592 1.823.654.408.038 1.493.454 2.831.454.854 0 1.8-.17 2.739-.708l-.593-.077c-.777-.177-2.23-1.246-2.307-1.315-.008-.008-1.016-1.039-2.485-1.039zm4.785-8.254c-.608 0-1.5.254-1.5.477v1.323a8.152 8.152 0 0 1 1.515-.169 9 9 0 0 1 1.515.162V2.977c0-.23-.923-.485-1.53-.485z"/><path fill="#FFF" d="M2.985 12.838L3 12.87l-.015-.03zm10.323-5.592V5.608c0-.231-1.954-.746-3.231-.746s-3.17.523-3.17.746V7.23a11.756 11.756 0 0 1 3.14-1.546c.007-.008 1.753.469 3.26 1.561zm.792 3.23c-.485.093-1.054.793-1.785 1.493.293-1.038.816-2.2 1.77-3.2a9.746 9.746 0 0 0-.777-.638v-.008c-.954-.708-2.062-1.315-3.216-1.646-.477.123-.946.346-1.384.554a11 11 0 0 0-2.623 1.73c.846.862 1.353 1.947 1.661 2.954l.023.07.239.215c.6.508 1.269.923 2.046 1.1v-.023l-.308-2.47-.077-1.66.416-1.909.384 1.908-.092 1.67-.277 2.476v.023l.562.07a4.463 4.463 0 0 1-3.793-.062c-.592-.285-1.169-.554-1.83-.623-.7-.07-1.4.07-2.054.33v.008L3 12.87c1.254 2.862 4.192 4.723 7.315 4.631 3.062-.092 5.847-2.07 6.962-4.915.061-.154.115-.316.17-.47-1.055-.784-2.709-1.761-3.347-1.638z"/></svg>
\ No newline at end of file
diff --git a/logo/docker.svg b/logo/docker.svg
deleted file mode 100644
index a25e3e7435..0000000000
--- a/logo/docker.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="189" width="221.667"><defs><clipPath id="a"><path d="M0 141.75h166.25V0H0z"/></clipPath><clipPath id="b"><path d="M0 141.75h166.25V0H0z"/></clipPath></defs><g clip-path="url(#a)" transform="matrix(1.33333 0 0 -1.33333 0 189)"><path d="M94.268 76.204h15.743v14.312H94.268zm-18.605 0h15.742v14.312H75.663zm-18.605 0h15.743v14.312H57.058zm-18.605 0h15.743v14.312H38.453zm-18.605 0h15.743v14.312H19.848zm18.605 17.173h15.743v14.311H38.453zm18.605 0h15.743v14.311H57.058zm18.605 0h15.742v14.311H75.663zm0 17.174h15.742v14.312H75.663zm81.658-26.003c-3.438 2.3-11.338 3.143-17.417 1.997-.783 5.726-3.974 10.691-9.779 15.179l-3.337 2.225-2.227-3.34c-2.851-4.299-4.275-10.256-3.808-15.967.21-2.01.87-5.603 2.937-8.764-2.066-1.11-6.15-2.64-11.533-2.537H8.622l-.203-1.192c-.973-5.74-.952-23.653 10.678-37.42 8.84-10.464 22.094-15.772 39.392-15.772 37.5 0 65.244 17.263 78.237 48.641 5.109-.102 16.109-.03 21.76 10.766.147.248.486.896 1.473 2.942l.541 1.122z" fill="#ffffff" fill-rule="evenodd"/></g><g clip-path="url(#b)" transform="matrix(1.33333 0 0 -1.33333 0 189)"></g></svg>
diff --git a/logo/eclipse.svg b/logo/eclipse.svg
deleted file mode 100644
index e15fd50d55..0000000000
--- a/logo/eclipse.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="256" height="240" viewBox="0 0 256 240" preserveAspectRatio="xMidYMid"><path fill="#FFF" d="M70.4 153H31.3c5.1 17.8 14.8 33.7 28.8 47.8 22.5 22.5 49.4 33.7 81 33.7 6.3 0 12.4-.5 18.3-1.4 23.8-3.6 44.6-14.3 62.4-32.3 14.2-14.1 23.9-30 29.1-47.8H70.4zM48.8 99.9H28.4c-.8 4.5-1.3 9.1-1.5 13.8h228.4c-.2-4.7-.8-9.3-1.5-13.8M26.9 126.5c.2 4.7.7 9.3 1.5 13.8H253.8c.7-4.5 1.3-9.1 1.5-13.8M250.9 87.1c-5.2-17.8-14.9-33.8-29.1-48-17.8-17.7-38.5-28.4-62.2-32-6-.9-12.1-1.4-18.5-1.4-31.6 0-58.5 11.2-81 33.4-14.1 14.2-23.7 30.2-28.8 48"/><path fill="#FFF" d="M20.1 120.1C20.1 59.8 65.4 9.6 124.4.8c-1.5 0-3-.1-4.5-.1C53.8.7.2 54.1.2 120.1c0 65.9 53.6 119.4 119.7 119.4 1.5 0 3-.1 4.5-.1-59-8.8-104.3-59-104.3-119.3z"/></svg>
\ No newline at end of file
diff --git a/logo/github.svg b/logo/github.svg
deleted file mode 100644
index 99e8eb5847..0000000000
--- a/logo/github.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="12 12 40 40">
-<path fill="#333333" d="M32,13.4c-10.5,0-19,8.5-19,19c0,8.4,5.5,15.5,13,18c1,0.2,1.3-0.4,1.3-0.9c0-0.5,0-1.7,0-3.2 c-5.3,1.1-6.4-2.6-6.4-2.6C20,41.6,18.8,41,18.8,41c-1.7-1.2,0.1-1.1,0.1-1.1c1.9,0.1,2.9,2,2.9,2c1.7,2.9,4.5,2.1,5.5,1.6 c0.2-1.2,0.7-2.1,1.2-2.6c-4.2-0.5-8.7-2.1-8.7-9.4c0-2.1,0.7-3.7,2-5.1c-0.2-0.5-0.8-2.4,0.2-5c0,0,1.6-0.5,5.2,2 c1.5-0.4,3.1-0.7,4.8-0.7c1.6,0,3.3,0.2,4.7,0.7c3.6-2.4,5.2-2,5.2-2c1,2.6,0.4,4.6,0.2,5c1.2,1.3,2,3,2,5.1c0,7.3-4.5,8.9-8.7,9.4 c0.7,0.6,1.3,1.7,1.3,3.5c0,2.6,0,4.6,0,5.2c0,0.5,0.4,1.1,1.3,0.9c7.5-2.6,13-9.7,13-18.1C51,21.9,42.5,13.4,32,13.4z"/>
-</svg>
diff --git a/logo/gitter-white.svg b/logo/gitter-white.svg
deleted file mode 100644
index 7c764cb431..0000000000
--- a/logo/gitter-white.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="7" height="14">
-  <g fill='#fff'>
-    <rect x="0" y="3" width="1" height="5"/>
-    <rect x="2" y="4" width="1" height="7"/>
-    <rect x="4" y="4" width="1" height="7"/>
-    <rect x="6" y="4" width="1" height="4"/>
-  </g>
-</svg>
diff --git a/logo/liberapay.svg b/logo/liberapay.svg
deleted file mode 100644
index 4f5c5e47ac..0000000000
--- a/logo/liberapay.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M80.058 72.37a7.734 7.734 0 0 1-7.735 7.734H7.789A7.737 7.737 0 0 1 .054 72.37V7.836A7.737 7.737 0 0 1 7.789.1h64.534a7.734 7.734 0 0 1 7.735 7.735v64.533" fill="#f6c915"/><g fill="#fff"><path d="M32.658 56.149c-2.577 0-4.6-.336-6.07-1.007-1.469-.672-2.522-1.587-3.156-2.75-.636-1.16-.944-2.49-.926-4 .018-1.506.226-3.111.626-4.817l6.913-28.902 8.437-1.306-7.566 31.352a9.843 9.843 0 0 0-.245 1.795c-.019.544.082 1.026.3 1.442.217.419.589.754 1.115 1.007.525.255 1.26.419 2.205.49l-1.633 6.692M63.131 38.135c0 2.648-.435 5.07-1.306 7.266-.87 2.197-2.078 4.092-3.62 5.688-1.542 1.598-3.392 2.84-5.551 3.728-2.16.889-4.51 1.334-7.048 1.334-1.234 0-2.468-.11-3.701-.328l-2.45 9.853h-8.056l9.035-37.662c1.451-.435 3.112-.826 4.98-1.17 1.87-.345 3.893-.517 6.07-.517 2.032 0 3.784.308 5.252.925 1.47.616 2.677 1.46 3.62 2.53.943 1.071 1.642 2.323 2.095 3.756.453 1.433.68 2.967.68 4.6M43.373 49.298c.617.145 1.379.218 2.286.218 1.415 0 2.703-.263 3.864-.79a8.52 8.52 0 0 0 2.967-2.204c.815-.943 1.45-2.076 1.904-3.402.454-1.324.68-2.784.68-4.381 0-1.56-.345-2.885-1.033-3.974-.69-1.088-1.887-1.633-3.592-1.633-1.162 0-2.25.109-3.267.327l-3.809 15.839"/></g></svg>
\ No newline at end of file
diff --git a/logo/matrix.svg b/logo/matrix.svg
deleted file mode 100644
index 594b97ed72..0000000000
--- a/logo/matrix.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="137.583" height="137.583" viewBox="0 0 137.583 36.402"><path fill="#fff" d="M3.625-47.442V83.844h9.445v3.149H0V-50.59h13.07v3.148zM44-5.823v6.64h.185c1.773-2.54 3.916-4.497 6.403-5.873 2.487-1.402 5.371-2.09 8.6-2.09 3.095 0 5.926.609 8.492 1.8 2.567 1.19 4.498 3.333 5.848 6.35 1.455-2.144 3.44-4.05 5.926-5.69 2.487-1.64 5.45-2.46 8.864-2.46 2.593 0 5 .318 7.223.953s4.101 1.64 5.689 3.042c1.587 1.403 2.804 3.202 3.704 5.45.873 2.25 1.323 4.949 1.323 8.124v32.834H92.789V15.45c0-1.64-.053-3.202-.185-4.657s-.476-2.725-1.032-3.784a6.338 6.338 0 0 0-2.512-2.566c-1.112-.635-2.62-.952-4.498-.952-1.905 0-3.44.37-4.604 1.084-1.164.74-2.09 1.667-2.752 2.858-.661 1.164-1.11 2.487-1.323 3.995a31.876 31.876 0 0 0-.343 4.498v27.33H62.07V15.742c0-1.455-.026-2.884-.106-4.313a11.892 11.892 0 0 0-.82-3.942 6.029 6.029 0 0 0-2.381-2.884c-1.111-.715-2.725-1.085-4.895-1.085-.635 0-1.481.132-2.513.423-1.032.29-2.064.82-3.043 1.614-.979.794-1.826 1.932-2.514 3.413-.688 1.482-1.031 3.44-1.031 5.848v28.468H31.3V-5.823zm89.959 89.667V-47.442h-9.446v-3.148h13.07V86.993h-13.07v-3.15z"/></svg>
\ No newline at end of file
diff --git a/logo/postgresql.svg b/logo/postgresql.svg
deleted file mode 100644
index 038754c5ab..0000000000
--- a/logo/postgresql.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">
-  <g stroke="#fff">
-    <path d="M36.3 24.4c-4.4 1-4.7-.6-4.7-.6 4.7-7 6.6-15.7 5-17.8C32 0 24 3 23.8 3h-.2l-3-.4c-2 0-3.4.6-4.6 1.4 0 0-14.2-5.8-13.5 7.4 0 2.8 4 21.2 8.7 15.6 1.6-2 3.3-3.7 3.3-3.7.8.5 1.8.8 2.8.7v.7c-1 1.4-.8 1.6-3 2-2.5.6-1 1.5-.2 1.7 1 .3 4 .7 6-1.8v.3c1 0 1 2 1 4s0 3 .5 4 .7 3 4 2c2.5-.8 4-2 4-4.7 0-1.7.5-1.5.5-3l.2-.8c.4-2.4 0-3 1.8-2.8h.4c1 0 2.7 0 3.6-.7 2-1 3.3-2.3 1.3-2z" fill="none" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
-    <path d="M20 25.7c-.2 4.4 0 8.8.4 9.8s1.3 3.2 4.5 2.5c2-.6 3-1.7 4-4v-7.7M16 4S2-2 2.7 11.2c0 2.8 4 21.2 8.6 15.7l3.2-4M24 3c-.6 0 7.7-3.2 12.5 3 1.7 2-.3 10.8-5 17.8" fill="none" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
-    <path d="M31.6 23.8s.3 1.5 4.7.5c2-.4.8 1.2-1.2 2-1 .8-5 1-5 0 0-2.7 2-2 2-2.5 0-.6-1-1.2-1-2.7-.5-1-7.2-11 2-9 0 0-2.5-8.2-11-9-9 0-9 11-9 11" fill="none" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="bevel"/>
-    <path d="M17.6 24.7c-1.2 1.3-1 1.5-3.3 2-2.4.5-1 1.4 0 1.6 1 .3 3.7.7 5.4-1.7.6-.8 0-2-.7-2.3-.4 0-.8-.3-1.4.4z" fill="none" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
-    <path d="M17.5 24.6c0-.7.2-1.7.6-2.8 1-1.6 3-3.2 1-8.4 0-4-6-.8-6-.3v6c0 3.7 2 6 5 6" fill="none" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
-    <path d="M16 13c0 .2.5.7 1 .7.4 0 .8-.3.8-.4 0-.2-.3-.4-.8-.5-.4 0-.8 0-1 .2z" fill="#fff" stroke-width=".4"/>
-    <path d="M30 12.7c.2 0-.2.6-.6.7-.5 0-1-.3-1-.5 0-1 .4-1 1-1h.7z" fill="#fff" stroke-width=".2"/>
-    <path d="M31.8 11.4c0 1.4-.3 2.4-.4 4 0 2 1 4.5-.6 7" fill="none" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
-  </g>
-</svg>
diff --git a/logo/slack.svg b/logo/slack.svg
deleted file mode 100644
index 35f308dab1..0000000000
--- a/logo/slack.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><g fill="#FFF"><rect transform="translate(20.094679 19.935137)rotate(-18.518296)" x="-2.8" y="-2.7" width="5.6" height="5.4"/><path d="M38.3 14.4C34.2 0.8 28.3-2.4 14.6 1.7 1 5.8-2.2 11.7 1.9 25.4 6 39 11.9 42.2 25.6 38.1 39.2 34 42.4 28.1 38.3 14.4ZM31.4 23.3L28.8 24.2 29.7 26.8C30.1 27.9 29.5 29.1 28.4 29.4 28.2 29.5 27.9 29.6 27.7 29.5 26.9 29.5 26.1 29 25.8 28.1L24.9 25.5 19.6 27.2 20.5 29.9C20.9 31 20.3 32.2 19.2 32.5 19 32.6 18.7 32.6 18.5 32.6 17.7 32.6 16.9 32 16.6 31.2L15.7 28.5 13.1 29.4C12.9 29.5 12.7 29.5 12.4 29.5 11.6 29.5 10.8 28.9 10.5 28.1 10.2 27 10.8 25.8 11.8 25.5L14.4 24.6 12.7 19.5 10.1 20.4C9.9 20.4 9.7 20.5 9.4 20.5 8.6 20.4 7.8 19.9 7.5 19.1 7.2 18 7.7 16.8 8.8 16.5L11.4 15.6 10.5 13C10.2 11.9 10.7 10.7 11.8 10.3 12.9 10 14.1 10.6 14.4 11.7L15.3 14.3 20.6 12.5 19.7 9.9C19.4 8.8 19.9 7.6 21 7.3 22.1 6.9 23.3 7.5 23.6 8.6L24.5 11.2 27.1 10.4C28.2 10 29.3 10.6 29.7 11.7 30 12.8 29.5 13.9 28.4 14.3L25.8 15.1 27.5 20.3 30.1 19.4C31.2 19 32.3 19.6 32.7 20.7 33 21.8 32.5 23 31.4 23.3Z"/></g></svg>
diff --git a/logo/sourcegraph.svg b/logo/sourcegraph.svg
deleted file mode 100644
index 2b80224171..0000000000
--- a/logo/sourcegraph.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 77.075 77.7"><path fill="#FFF" d="M47.323 77.7c-3.594 0-6.79-2.396-7.787-5.99l-17.172-61.7c-.998-4.393 1.598-8.786 5.99-9.784 4.193-1 8.387 1.397 9.584 5.39l16.973 61.7c1.198 4.394-1.397 8.786-5.59 9.984-.6.2-1.397.4-1.997.4z"/><path fill="#FFF" d="M17.372 70.71c-4.393 0-7.987-3.593-7.987-7.985 0-1.997.8-3.994 1.997-5.392L54.112 9.41c2.995-3.393 7.986-3.593 11.38-.598s3.595 7.987.6 11.38l-42.73 47.723c-1.597 1.798-3.794 2.796-5.99 2.796z"/><path fill="#FFF" d="M69.087 56.734c-.798 0-1.597-.2-2.596-.4L5.59 36.368C1.4 34.97-.997 30.377.4 26.184c1.397-4.193 5.99-6.59 10.183-5.19l60.9 19.966c4.193 1.397 6.59 5.99 5.19 10.184-.996 3.394-3.99 5.59-7.586 5.59z"/></svg>
\ No newline at end of file
diff --git a/logo/stackoverflow.svg b/logo/stackoverflow.svg
deleted file mode 100644
index 60904befb7..0000000000
--- a/logo/stackoverflow.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><path fill="#bcbbbb" d="M84.4 93.8V70.6h7.7v30.9H22.6V70.6h7.7v23.2z"/><path d="M38.8 68.4l37.8 7.9 1.6-7.6-37.8-7.9-1.6 7.6zm5-18l35 16.3 3.2-7-35-16.4-3.2 7.1zm9.7-17.2l29.7 24.7 4.9-5.9-29.7-24.7-4.9 5.9zm19.2-18.3l-6.2 4.6 23 31 6.2-4.6-23-31zM38 86h38.6v-7.7H38V86z" fill="#f48023"/></svg>
\ No newline at end of file
diff --git a/logo/telegram.svg b/logo/telegram.svg
index 5713a26a06..edf84d1356 100644
--- a/logo/telegram.svg
+++ b/logo/telegram.svg
@@ -3,4 +3,4 @@
   <path d="M92.412 201.62s4.295.56 8.83-3.702c4.536-4.26 26.303-25.603 26.303-25.603" fill="none" stroke="#000" stroke-width="10"/>
   <path d="M66.985 134.887l28.922 14.082-3.488 52.65s-4.928.843-6.25-3.613c-1.323-4.455-19.185-63.12-19.185-63.12z" fill-rule="evenodd" stroke="#000" stroke-width="10" stroke-linejoin="bevel"/>
   <path d="M66.985 134.887s127.637-77.45 120.09-71.138c-7.55 6.312-91.168 85.22-91.168 85.22z" fill-rule="evenodd" stroke="#000" stroke-width="9.67" stroke-linejoin="bevel"/>
-</svg>
+</svg>
\ No newline at end of file
diff --git a/logo/tfs.svg b/logo/tfs.svg
deleted file mode 100644
index fcdc57ebd7..0000000000
--- a/logo/tfs.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='12.0' height='12.0' viewBox='0 0 16 16'>
-  <path fill='#fff' d='M16 2.911v9.859l-3.912 3.227-6.03-2.015v2.022L2 11l10 1.223V3.626l4-.715zm-4 .714L7.12-.003v1.661l-5.499 2.15L0 5.927v4.531L2 11l-.028-5.442L12 3.625z' />
-</svg>
\ No newline at end of file
diff --git a/logo/twitter.svg b/logo/twitter.svg
deleted file mode 100644
index c67c567b78..0000000000
--- a/logo/twitter.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 335 276"><path fill="#55acee" d="M302 70A195 195 0 0 1 3 245a142 142 0 0 0 97-30 70 70 0 0 1-58-47 70 70 0 0 0 31-2 70 70 0 0 1-57-66 70 70 0 0 0 28 5 70 70 0 0 1-18-90 195 195 0 0 0 141 72 67 67 0 0 1 116-62 117 117 0 0 0 43-17 65 65 0 0 1-31 38 117 117 0 0 0 39-11 65 65 0 0 1-32 35"/></svg>
diff --git a/logo/windows.svg b/logo/windows.svg
deleted file mode 100644
index a3097ecd95..0000000000
--- a/logo/windows.svg
+++ /dev/null
@@ -1,1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="100" width="100"><path d="M6.337 18.605l35.687-4.86.016 34.422-35.67.203zm35.67 33.529l.028 34.453-35.67-4.905-.002-29.78zm4.327-39.025l47.318-6.906V47.73l-47.318.375zm47.329 39.349l-.012 41.34-47.318-6.679-.066-34.739z" fill="#fff"/></svg>
\ No newline at end of file


Test patch:
diff --git a/services/endpoint/endpoint.tester.js b/services/endpoint/endpoint.tester.js
index 6ac3fea217..6de816adc4 100644
--- a/services/endpoint/endpoint.tester.js
+++ b/services/endpoint/endpoint.tester.js
@@ -69,12 +69,12 @@ t.create('named logo')
         schemaVersion: 1,
         label: 'hey',
         message: 'yo',
-        namedLogo: 'github',
+        namedLogo: 'npm',
       })
   )
   .after((err, res, body) => {
     expect(err).not.to.be.ok
-    expect(body).to.include(getShieldsIcon({ name: 'github' }))
+    expect(body).to.include(getShieldsIcon({ name: 'npm' }))
   })
 
 t.create('named logo with color')
@@ -86,17 +86,17 @@ t.create('named logo with color')
         schemaVersion: 1,
         label: 'hey',
         message: 'yo',
-        namedLogo: 'github',
+        namedLogo: 'npm',
         logoColor: 'blue',
       })
   )
   .after((err, res, body) => {
     expect(err).not.to.be.ok
-    expect(body).to.include(getShieldsIcon({ name: 'github', color: 'blue' }))
+    expect(body).to.include(getShieldsIcon({ name: 'npm', color: 'blue' }))
   })
 
 const logoSvg = Buffer.from(
-  getShieldsIcon({ name: 'github' }).replace('data:image/svg+xml;base64,', ''),
+  getShieldsIcon({ name: 'npm' }).replace('data:image/svg+xml;base64,', ''),
   'base64'
 ).toString('ascii')
 
@@ -114,7 +114,7 @@ t.create('custom svg logo')
   )
   .after((err, res, body) => {
     expect(err).not.to.be.ok
-    expect(body).to.include(getShieldsIcon({ name: 'github' }))
+    expect(body).to.include(getShieldsIcon({ name: 'npm' }))
   })
 
 t.create('logoWidth')