badges / shields

Concise, consistent, and legible badges in SVG and raster format
https://shields.io
Creative Commons Zero v1.0 Universal
23.42k stars 5.49k forks source link

Migrate to simple-icons slugs #4273

Closed paulmelnikow closed 3 years ago

paulmelnikow commented 4 years ago

Based on our request at simple-icons/simple-icons#1362 and simple-icons/simple-icons#1520, simple-icons is now shipping a canonical slug to go with each icon. As @chris48s put it in https://github.com/badges/shields/pull/3641#issuecomment-520064227:

This is nice because it means we've got a consistent slug on each object which is discoverable from the simpleicons website/repository/library. Adopting this would be easier for users because our slugs would match the ones used elsewhere.

However there's a downside:

The downside is that the slugs we've generated in the past are quite different for a lot of icons, so just switching from key.toLowerCase().replace(/ /g, '-') to simpleIcons[key].slug would break a lot of badges in the wild. This is a rough diff between our slugs and theirs:

This is a rough diff between our slugs and theirs:

--- oldslugs    2019-08-09 21:39:22.237364058 +0100
+++ newslugs    2019-08-09 21:40:35.632137692 +0100
@@ -3 +2,0 @@
-dev.to
@@ -6,3 +5 @@
-rollup.js
-webcomponents.org
-.net
+dot-net
@@ -10 +7 @@
-about.me
+about-dot-me
@@ -14,12 +11,12 @@
-adobe-acrobat-reader
-adobe-after-effects
-adobe-audition
-adobe-dreamweaver
-adobe-illustrator
-adobe-indesign
-adobe-lightroom-cc
-adobe-lightroom-classic
-adobe-photoshop
-adobe-premiere
-adobe-typekit
-adobe-xd
+adobeacrobatreader
+adobeaftereffects
+adobeaudition
+adobedreamweaver
+adobeillustrator
+adobeindesign
+adobelightroomcc
+adobelightroomclassic
+adobephotoshop
+adobepremiere
+adobetypekit
+adobexd
@@ -27 +24 @@
-allociné
+allocine
@@ -29 +26 @@
-amazon-aws
+amazonaws
@@ -31 +28 @@
-american-express
+americanexpress
@@ -35 +32 @@
-angular-universal
+angularuniversal
@@ -38 +35 @@
-apache-flink
+apacheflink
@@ -40,2 +37,2 @@
-apple-music
-apple-pay
+applemusic
+applepay
@@ -43,2 +40,2 @@
-arch-linux
-archive-of-our-own
+archlinux
+archiveofourown
@@ -49 +46 @@
-at&t
+at-and-t
@@ -56,2 +53,2 @@
-azure-devops
-azure-pipelines
+azuredevops
+azurepipelines
@@ -63 +60 @@
-bath-asu
+bathasu
@@ -66 +63 @@
-big-cartel
+bigcartel
@@ -79 +76 @@
-brand.ai
+brand-dot-ai
@@ -83 +80 @@
-buy-me-a-coffee
+buymeacoffee
@@ -86 +83 @@
-campaign-monitor
+campaignmonitor
@@ -88 +85 @@
-cash-app
+cashapp
@@ -96 +93 @@
-cirrus-ci
+cirrusci
@@ -105 +102 @@
-code-climate
+codeclimate
@@ -123,2 +120,2 @@
-adobe-creative-cloud
-creative-commons
+adobecreativecloud
+creativecommons
@@ -128,4 +125,4 @@
-css-wizardry
-common-workflow-language
-c++
-d3.js
+csswizardry
+commonworkflowlanguage
+cplusplus
+d3-dot-js
@@ -133 +130 @@
-dassault-systèmes
+dassaultsystemes
@@ -141 +138 @@
-designer-news
+designernews
@@ -143,0 +141 @@
+dev-dot-to
@@ -155 +153 @@
-draugiem.lv
+draugiem-dot-lv
@@ -166 +164 @@
-eclipse-ide
+eclipseide
@@ -168 +166 @@
-elastic-cloud
+elasticcloud
@@ -170 +168 @@
-elastic-stack
+elasticstack
@@ -174 +172 @@
-empire-kred
+empirekred
@@ -176 +174 @@
-epic-games
+epicgames
@@ -182 +180 @@
-event-store
+eventstore
@@ -185 +183 @@
-experts-exchange
+expertsexchange
@@ -194 +192 @@
-fido-alliance
+fidoalliance
@@ -209,2 +207,2 @@
-fur-affinity
-furry-network
+furaffinity
+furrynetwork
@@ -224,2 +222,2 @@
-gnu-social
-gog.com
+gnusocial
+gog-dot-com
@@ -230,12 +228,12 @@
-google-allo
-google-chrome
-google-cloud
-google-analytics
-google-drive
-google-hangouts
-google-hangouts-chat
-google-keep
-google-pay
-google-play
-google-podcasts
-gov.uk
+googleallo
+googlechrome
+googlecloud
+googleanalytics
+googledrive
+googlehangouts
+googlehangoutschat
+googlekeep
+googlepay
+googleplay
+googlepodcasts
+gov-dot-uk
@@ -259 +257 @@
-hatena-bookmark
+hatenabookmark
@@ -274 +272 @@
-humble-bundle
+humblebundle
@@ -287 +285 @@
-intellij-idea
+intellijidea
@@ -289 +287 @@
-internet-explorer
+internetexplorer
@@ -291 +289 @@
-itch.io
+itch-dot-io
@@ -311 +309 @@
-khan-academy
+khanacademy
@@ -325,2 +323,2 @@
-laravel-horizon
-last.fm
+laravelhorizon
+last-dot-fm
@@ -329 +327 @@
-let’s-encrypt
+letsencrypt
@@ -335 +333 @@
-line-webtoon
+linewebtoon
@@ -338 +336 @@
-linux-foundation
+linuxfoundation
@@ -343 +341 @@
-macy’s
+macys
@@ -347 +345 @@
-mail.ru
+mail-dot-ru
@@ -354 +352 @@
-material-design
+materialdesign
@@ -365 +363 @@
-micro.blog
+micro-dot-blog
@@ -368,10 +366,10 @@
-microsoft-access
-microsoft-azure
-microsoft-edge
-microsoft-excel
-microsoft-onedrive
-microsoft-onenote
-microsoft-outlook
-microsoft-powerpoint
-microsoft-word
-linux-mint
+microsoftaccess
+microsoftazure
+microsoftedge
+microsoftexcel
+microsoftonedrive
+microsoftonenote
+microsoftoutlook
+microsoftpowerpoint
+microsoftword
+linuxmint
@@ -384 +382 @@
-monkey-tie
+monkeytie
@@ -389,2 +387,2 @@
-mozilla-firefox
-mx-linux
+mozillafirefox
+mxlinux
@@ -397 +395 @@
-next.js
+next-dot-js
@@ -402,3 +400,3 @@
-nintendo-gamecube
-nintendo-switch
-node.js
+nintendogamecube
+nintendoswitch
+node-dot-js
@@ -409 +407 @@
-nuxt.js
+nuxt-dot-js
@@ -412 +410 @@
-octopus-deploy
+octopusdeploy
@@ -415 +413 @@
-open-access
+openaccess
@@ -433 +431 @@
-picarto.tv
+picarto-dot-tv
@@ -438 +436 @@
-pivotal-tracker
+pivotaltracker
@@ -440 +438 @@
-player.me
+player-dot-me
@@ -442,2 +440,2 @@
-playstation-3
-playstation-4
+playstation3
+playstation4
@@ -456,2 +454,2 @@
-product-hunt
-proto.io
+producthunt
+proto-dot-io
@@ -471 +469 @@
-raspberry-pi
+raspberrypi
@@ -473 +471 @@
-read-the-docs
+readthedocs
@@ -477 +475 @@
-red-hat
+redhat
@@ -483,0 +482 @@
+rollup-dot-js
@@ -493 +492 @@
-samsung-pay
+samsungpay
@@ -496 +495 @@
-sauce-labs
+saucelabs
@@ -500 +499 @@
-scrutinizer-ci
+scrutinizerci
@@ -505 +504 @@
-server-fault
+serverfault
@@ -509,2 +508,2 @@
-simple-icons
-sina-weibo
+simpleicons
+sinaweibo
@@ -518 +517 @@
-smashing-magazine
+smashingmagazine
@@ -534 +533 @@
-speaker-deck
+speakerdeck
@@ -540,2 +539,2 @@
-stack-exchange
-stack-overflow
+stackexchange
+stackoverflow
@@ -557 +556 @@
-sublime-text
+sublimetext
@@ -559 +558 @@
-super-user
+superuser
@@ -570,2 +569,2 @@
-tencent-qq
-tencent-weibo
+tencentqq
+tencentweibo
@@ -573,2 +572,2 @@
-the-mighty
-the-movie-database
+themighty
+themoviedatabase
@@ -576 +575 @@
-tik-tok
+tiktok
@@ -586 +585 @@
-travis-ci
+travisci
@@ -592 +591 @@
-turkish-airlines
+turkishairlines
@@ -607 +606 @@
-unreal-engine
+unrealengine
@@ -622 +621 @@
-visual-studio-code
+visualstudiocode
@@ -624 +623 @@
-vlc-media-player
+vlcmediaplayer
@@ -626 +625 @@
-vue.js
+vue-dot-js
@@ -629,0 +629 @@
+webcomponents-dot-org
@@ -633 +633 @@
-when-i-work
+wheniwork
@@ -635 +635 @@
-wii-u
+wiiu
@@ -641,2 +641,2 @@
-wolfram-language
-wolfram-mathematica
+wolframlanguage
+wolframmathematica
@@ -644 +644 @@
-wp-engine
+wpengine
@@ -651,2 +651,2 @@
-y-combinator
-yahoo!
+ycombinator
+yahoo

I think it's worth making this leap, as it ultimately will resolve the recurring issue: #3639 #3297 #2980, and preferable to refining our current approach (as initially proposed in #3641).

We need a plan for how to handle the deprecation. We got some feedback in #3635 about how we handled the last one (which I realize I've yet to take the time to respond to 🙈). Overall I think it's not in our mission to keep features forever, just so people don't need to adapt or update their badges, and some amount of steering people to new endpoints and parameters is okay. But lots of people are likely to find out about these changes only through the broken badges… and I don't know exactly how to prevent that (or to make it better).

In the short term we could produce an up-to-date diff and then hard-code aliases; I'm fine deferring to another day the rest of the deprecation plan.

As a side note, I'm also a fan of failing loudly when a parameter is wrong, which is never something we've done with logos or any of the other query parameters.

calebcartwright commented 3 years ago

Closing as I believe this has subsequently been resolved via #6591