-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to devicons/devicon #1691
base: master
Are you sure you want to change the base?
Conversation
Here a list of which icons will get an update. and which have been dropped in devicons (they have a
I marked some with a |
[why] sqlite is referred to as sqllite (with two L). [how] Correct i_dev and rebuild css and glyphnames via generate-css.sh Signed-off-by: Fini Jastrow <[email protected]>
[why] The glyphnames in the font files are sometimes off. We take them from the symbol source/font and ofter they are empty or even plain wrong (esp if we move to other codepoints). [how] We have the list of all glyphnames that is generated by collecting all data from the i_*.sh files. When patching we take this information now and use it if appropriate. Make sure the glyphname.json file is included in our zip patcher release and also in the Docker image. It will run as before if the file can not be found or is invalid etc. Suggested-by: Ulices <[email protected]> Signed-off-by: Fini Jastrow <[email protected]>
0611917
to
71e7ae0
Compare
a538e34
to
914111f
Compare
Here a visual of which icons got dropped upstream (i.e. were in Vorillaz but are not in Devicons/Devicon) marked with blue, and the existing icons updated to Devicons/Devicon. Dropped icons often are in another set, so the impact is not too bad (e.g. Dropbox, Hackernews, ...) All the vacant codepoints are now used to fill in new icons; so that we have no gaps and still all icons of Devicons v2.16.0: Side by side: And all: Some As I write this I already notice some more problems that I will fix and force-push away soon. Ping to @Snailedlt, discussions if needed can be better done here |
This adds the current mapping file (which has been hand-crafted) and the scripts to update the Devicons. This also fixes Vorillaz' typo 'rasberry_pi' -> 'raspberry_pi'. Signed-off-by: Fini Jastrow <[email protected]>
Signed-off-by: Fini Jastrow <[email protected]>
914111f
to
d0b135a
Compare
Great work! |
d0b135a
to
707dd49
Compare
Backport improved fixed icons from PRs in devicons/devicon; force push. |
List of dropped icons, their codepoints are reused for new icons.
Not dropped
|
This looks amazing, great job! Just few notes:
|
Thanks a lot @hasecilu !!
Ah, thank you!
I guess instead of adding it (back) to devicons/devicons I can just keep it, as the other few I already identified as 'must be kept' in the https://github.com/ryanoasis/nerd-fonts/tree/feature/update-devicons/src/glyphs/devicons/vorillaz directory (i.e. some I change the entries in the table above. |
Made this small script to create a nice regex and will #!/usr/bin/bash
ICONS=( E700 E701 E705 E706 E707 E708 E70A E713 E715 E71A E71C E720 E723 E72A E72B E72C E72D E72E E72F E730 E731 E732 E733 E734 E735 E741 E74E E74F E754 E756 E75B E75D E75E E75F E760 E761 E762 E765 E766 E76A E76B E76C E76F E770 E771 E773 E779 E77A E77C E785 E786 E788 E789 E78A E78B E78C E78D E78E E78F E790 E791 E792 E793 E794 E795 E796 E797 E799 E79A E79B E79D E79F E7A0 E7A2 E7A3 E7AA E7AC E7B2 E7B7 E7B9 E7BC E7BD E7BE E7BF E7C0 E7C1 E7C2 E7C3)
printf "["
for i in "${ICONS[@]}"; do
printf "\u${i}"
done
printf "]"
for i in "${ICONS[@]}"; do
j=$(echo "${i}" | tr '[:upper:]' '[:lower:]')
printf "\\|%s\\|%s" "${i}" "${j}"
done Above: regex.sh Of course there are false positives etc, but I will collect some more data on which icons are used by default!
|
Thanks again for the valuable comment 💚 I guess I will just keep all the icons that I found in some default config. In some moments I think maybe we should not drop any icon and just update and add new ones. |
707dd49
to
fca2b21
Compare
[why] Some icons that have been dropped from devicons are in wide use and so we want to keep those at their old codepoints. The Vorillaz dropbox logo is very old. As the icons we keep from Vorillaz will not be maintained by any upstream we have the responsibility to keep it up to date. [how] Put the icons in the appropriate folder; icon files taken out of vorillaz/devicons `!SVG/` directory. Adapt rules and mapping. The Dropbox icon has been hand-modified (simplified) with the original logo as starting point. Signed-off-by: Fini Jastrow <[email protected]>
[how] $ ./analyze Found 198 mapping entries and 473 devicon directories # SVG change: code: E602 name: git, old: vorillaz/git.svg, new: git/git-plain.svg # SVG change: code: E603 name: bitbucket, old: vorillaz/bitbucket.svg, new: bitbucket/bitbucket-original.svg # SVG change: code: E604 name: mysql, old: vorillaz/mysql.svg, new: mysql/mysql-original.svg # SVG change: code: E609 name: github_badge, old: vorillaz/github_badge.svg, new: github/github-original.svg # SVG change: code: E60B name: wordpress, old: vorillaz/wordpress.svg, new: wordpress/wordpress-plain.svg # SVG change: code: E60C name: visualstudio, old: vorillaz/visualstudio.svg, new: visualstudio/visualstudio-plain.svg # SVG change: code: E60D name: jekyll, old: vorillaz/jekyll_small.svg, new: jekyll/jekyll-plain.svg # SVG change: code: E60E name: android, old: vorillaz/android.svg, new: android/android-plain.svg # SVG change: code: E60F name: windows, old: vorillaz/windows.svg, new: windows8/windows8-original.svg # SVG change: code: E610 name: stackoverflow, old: vorillaz/stackoverflow.svg, new: stackoverflow/stackoverflow-plain.svg # SVG change: code: E611 name: apple, old: vorillaz/apple.svg, new: apple/apple-original.svg # SVG change: code: E612 name: linux, old: vorillaz/linux.svg, new: linux/linux-plain.svg # SVG change: code: E614 name: ghost_small, old: vorillaz/ghost_small.svg, new: ghost/ghost-original.svg # SVG change: code: E616 name: codepen, old: vorillaz/codepen.svg, new: codepen/codepen-original.svg # SVG change: code: E617 name: github_full, old: vorillaz/github_full.svg, new: github/github-original-wordmark.svg # SVG change: code: E618 name: nodejs_small, old: vorillaz/nodejs_small.svg, new: nodejs/nodejs-plain.svg # SVG change: code: E619 name: nodejs, old: vorillaz/nodejs.svg, new: nodejs/nodejs-plain-wordmark.svg # SVG change: code: E61B name: ember, old: vorillaz/ember.svg, new: ember/ember-plain.svg # SVG change: code: E61D name: django, old: vorillaz/django.svg, new: django/django-plain.svg # SVG change: code: E61E name: npm, old: vorillaz/npm.svg, new: npm/npm-original-wordmark.svg # SVG change: code: E61F name: ghost, old: vorillaz/ghost.svg, new: ghost/ghost-original-wordmark.svg # SVG change: code: E621 name: unity, old: vorillaz/unity_small.svg, new: unity/unity-plain.svg # SVG change: code: E622 name: raspberry_pi, old: vorillaz/rasberry_pi.svg, new: raspberrypi/raspberrypi-plain.svg # SVG change: code: E624 name: go, old: vorillaz/go.svg, new: go/go-line.svg # SVG change: code: E636 name: html5, old: vorillaz/html5.svg, new: html5/html5-plain.svg # SVG change: code: E637 name: scala, old: vorillaz/scala.svg, new: scala/scala-plain.svg # SVG change: code: E638 name: java, old: vorillaz/java.svg, new: java/java-plain.svg # SVG change: code: E639 name: ruby, old: vorillaz/ruby.svg, new: ruby/ruby-plain.svg # SVG change: code: E63A name: ubuntu, old: vorillaz/ubuntu.svg, new: ubuntu/ubuntu-plain.svg # SVG change: code: E63B name: rails, old: vorillaz/ruby_on_rails.svg, new: rails/rails-plain.svg # SVG change: code: E63C name: python, old: vorillaz/python.svg, new: python/python-plain.svg # SVG change: code: E63D name: php, old: vorillaz/php.svg, new: php/php-plain.svg # SVG change: code: E63E name: markdown, old: vorillaz/markdown.svg, new: markdown/markdown-original.svg # SVG change: code: E63F name: laravel, old: vorillaz/laravel.svg, new: laravel/laravel-original.svg # SVG change: code: E640 name: magento, old: vorillaz/magento.svg, new: magento/magento-original.svg # SVG change: code: E642 name: drupal, old: vorillaz/drupal.svg, new: drupal/drupal-plain.svg # SVG change: code: E643 name: chrome, old: vorillaz/chrome.svg, new: chrome/chrome-plain.svg # SVG change: code: E644 name: ie, old: vorillaz/ie.svg, new: ie10/ie10-original.svg # SVG change: code: E645 name: firefox, old: vorillaz/firefox.svg, new: firefox/firefox-plain.svg # SVG change: code: E646 name: opera, old: vorillaz/opera.svg, new: opera/opera-plain.svg # SVG change: code: E647 name: bootstrap, old: vorillaz/bootstrap.svg, new: bootstrap/bootstrap-plain.svg # SVG change: code: E648 name: safari, old: vorillaz/safari.svg, new: safari/safari-plain.svg # SVG change: code: E649 name: css3, old: vorillaz/css3.svg, new: css3/css3-plain.svg # SVG change: code: E64A name: css3_full, old: vorillaz/css3_full.svg, new: css3/css3-plain-wordmark.svg # SVG change: code: E64B name: sass, old: vorillaz/sass.svg, new: sass/sass-original.svg # SVG change: code: E64C name: grunt, old: vorillaz/grunt.svg, new: grunt/grunt-line.svg # SVG change: code: E64D name: bower, old: vorillaz/bower.svg, new: bower/bower-line.svg # SVG change: code: E650 name: jquery, old: vorillaz/jquery.svg, new: jquery/jquery-plain.svg # SVG change: code: E651 name: coffeescript, old: vorillaz/coffeescript.svg, new: coffeescript/coffeescript-original.svg # SVG change: code: E652 name: backbonejs, old: vorillaz/backbone.svg, new: backbonejs/backbonejs-plain.svg # SVG change: code: E653 name: angular, old: vorillaz/angular.svg, new: angular/angular-plain.svg # SVG change: code: E655 name: swift, old: vorillaz/swift.svg, new: swift/swift-plain.svg # SVG change: code: E657 name: symfony_badge, old: vorillaz/symfony_badge.svg, new: symfony/symfony-original.svg # SVG change: code: E658 name: less, old: vorillaz/less.svg, new: less/less-plain-wordmark.svg # SVG change: code: E659 name: stylus, old: vorillaz/stylus.svg, new: stylus/stylus-original.svg # SVG change: code: E65A name: trello, old: vorillaz/trello.svg, new: trello/trello-plain.svg # SVG change: code: E65C name: jira, old: vorillaz/jira.svg, new: jira/jira-plain.svg # SVG change: code: E663 name: gulp, old: vorillaz/gulp.svg, new: gulp/gulp-plain.svg # SVG change: code: E664 name: atom, old: vorillaz/atom.svg, new: atom/atom-original.svg # SVG change: code: E667 name: jenkins, old: vorillaz/jenkins.svg, new: jenkins/jenkins-line.svg # SVG change: code: E668 name: clojure, old: vorillaz/clojure.svg, new: clojure/clojure-line.svg # SVG change: code: E669 name: perl, old: vorillaz/perl.svg, new: perl/perl-plain.svg # SVG change: code: E66D name: redis, old: vorillaz/redis.svg, new: redis/redis-plain.svg # SVG change: code: E66E name: postgresql, old: vorillaz/postgresql.svg, new: postgresql/postgresql-plain.svg # SVG change: code: E672 name: typo3, old: vorillaz/typo3.svg, new: typo3/typo3-original.svg # SVG change: code: E674 name: doctrine, old: vorillaz/doctrine.svg, new: doctrine/doctrine-plain.svg # SVG change: code: E675 name: groovy, old: vorillaz/groovy.svg, new: groovy/groovy-plain.svg # SVG change: code: E676 name: nginx, old: vorillaz/nginx.svg, new: nginx/nginx-original.svg # SVG change: code: E677 name: haskell, old: vorillaz/haskell.svg, new: haskell/haskell-plain.svg # SVG change: code: E678 name: zend, old: vorillaz/zend.svg, new: zend/zend-original.svg # SVG change: code: E67B name: heroku, old: vorillaz/heroku.svg, new: heroku/heroku-plain.svg # SVG change: code: E67D name: debian, old: vorillaz/debian.svg, new: debian/debian-plain.svg # SVG change: code: E67E name: travis, old: vorillaz/travis.svg, new: travis/travis-plain.svg # SVG change: code: E67F name: dotnet, old: vorillaz/dotnet.svg, new: dot-net/dot-net-plain.svg # SVG change: code: E680 name: codeigniter, old: vorillaz/codeigniter.svg, new: codeigniter/codeigniter-plain.svg # SVG change: code: E681 name: javascript_badge, old: vorillaz/javascript_badge.svg, new: javascript/javascript-plain.svg # SVG change: code: E682 name: yii, old: vorillaz/yii.svg, new: yii/yii-plain.svg # SVG change: code: E683 name: composer, old: vorillaz/composer.svg, new: composer/composer-line.svg # SVG change: code: E684 name: krakenjs_badge, old: vorillaz/krakenjs_badge.svg, new: krakenjs/krakenjs-plain.svg # SVG change: code: E687 name: firebase, old: vorillaz/firebase.svg, new: firebase/firebase-plain.svg # SVG change: code: E698 name: dart, old: vorillaz/dart.svg, new: dart/dart-plain.svg # SVG change: code: E69C name: dreamweaver, old: vorillaz/dreamweaver.svg, new: dreamweaver/dreamweaver-plain.svg # SVG change: code: E69E name: eclipse, old: vorillaz/eclipse.svg, new: eclipse/eclipse-plain.svg # SVG change: code: E6A1 name: prolog, old: vorillaz/prolog.svg, new: prolog/prolog-plain.svg # SVG change: code: E6A4 name: mongodb, old: vorillaz/mongodb.svg, new: mongodb/mongodb-plain.svg # SVG change: code: E6A5 name: meteor, old: vorillaz/meteor.svg, new: meteor/meteor-plain.svg # SVG change: code: E6A6 name: meteorfull, old: vorillaz/meteorfull.svg, new: meteor/meteor-plain-wordmark.svg # SVG change: code: E6A7 name: fsharp, old: vorillaz/fsharp.svg, new: fsharp/fsharp-plain.svg # SVG change: code: E6A8 name: rust, old: vorillaz/rust.svg, new: rust/rust-original.svg # SVG change: code: E6A9 name: ionic, old: vorillaz/ionic.svg, new: ionic/ionic-original.svg # SVG change: code: E6AB name: appcelerator, old: vorillaz/appcelerator.svg, new: appcelerator/appcelerator-original.svg # SVG change: code: E6AD name: amazonwebservices, old: vorillaz/aws.svg, new: amazonwebservices/amazonwebservices-plain-wordmark.svg # SVG change: code: E6AE name: digitalocean, old: vorillaz/digital_ocean.svg, new: digitalocean/digitalocean-original.svg # SVG change: code: E6B0 name: docker, old: vorillaz/docker.svg, new: docker/docker-plain.svg # SVG change: code: E6B1 name: erlang, old: vorillaz/erlang.svg, new: erlang/erlang-plain.svg # SVG change: code: E6B3 name: grails, old: vorillaz/grails.svg, new: grails/grails-plain.svg # SVG change: code: E6B4 name: illustrator, old: vorillaz/illustrator.svg, new: illustrator/illustrator-plain.svg # SVG change: code: E6B5 name: intellij, old: vorillaz/intellij.svg, new: intellij/intellij-plain.svg # SVG change: code: E6B6 name: materializecss, old: vorillaz/materializecss.svg, new: materializecss/materializecss-plain.svg # SVG change: code: E6B8 name: photoshop, old: vorillaz/photoshop.svg, new: photoshop/photoshop-plain.svg # SVG change: code: E6BA name: react, old: vorillaz/react.svg, new: react/react-original.svg # SVG change: code: E6BB name: redhat, old: vorillaz/redhat.svg, new: redhat/redhat-plain.svg # SVG change: code: E6C4 name: sqlite, old: vorillaz/sqllite.svg, new: sqlite/sqlite-plain.svg # SVG change: code: E6C5 name: vim, old: vorillaz/vim.svg, new: vim/vim-plain.svg # Icon dropped: code: E600 name: bing_small # Icon dropped: code: E601 name: css_tricks # Icon dropped: code: E605 name: streamline # Icon dropped: code: E608 name: github_alt # Icon dropped: code: E60A name: github # Icon dropped: code: E613 name: appstore # Icon dropped: code: E615 name: yahoo # Icon dropped: code: E61A name: hackernews # Icon dropped: code: E61C name: dojo # Icon dropped: code: E620 name: modernizr # Icon dropped: code: E623 name: blackberry # Icon dropped: code: E62A name: cssdeck # Icon dropped: code: E62B name: yahoo_small # Icon dropped: code: E62C name: techcrunch # Icon dropped: code: E62E name: netmagazine # Icon dropped: code: E62F name: codrops # Icon dropped: code: E630 name: phonegap # Icon dropped: code: E631 name: google_drive # Icon dropped: code: E632 name: html5_multimedia # Icon dropped: code: E633 name: html5_device_access # Icon dropped: code: E634 name: html5_connectivity # Icon dropped: code: E635 name: html5_3d_effects # Icon dropped: code: E641 name: joomla # Icon dropped: code: E64F name: javascript_shield # Icon dropped: code: E654 name: jquery_ui # Icon dropped: code: E656 name: symfony # Icon dropped: code: E65B name: atlassian # Icon dropped: code: E65D name: envato # Icon dropped: code: E65E name: snap_svg # Icon dropped: code: E65F name: raphael # Icon dropped: code: E660 name: chart # Icon dropped: code: E661 name: compass # Icon dropped: code: E662 name: onedrive # Icon dropped: code: E665 name: cisco # Icon dropped: code: E666 name: nancy # Icon dropped: code: E66B name: celluloid # Icon dropped: code: E66C name: w3c # Icon dropped: code: E66F name: webplatform # Icon dropped: code: E671 name: opensource # Icon dropped: code: E673 name: uikit # Icon dropped: code: E67A name: yeoman # Icon dropped: code: E67C name: msql_server # Icon dropped: code: E685 name: krakenjs # Icon dropped: code: E688 name: sizzlejs # Icon dropped: code: E689 name: creativecommons # Icon dropped: code: E68A name: creativecommons_badge # Icon dropped: code: E68B name: mitlicence # Icon dropped: code: E68C name: senchatouch # Icon dropped: code: E68D name: bugsense # Icon dropped: code: E68E name: extjs # Icon dropped: code: E690 name: mootools # Icon dropped: code: E692 name: komodo # Icon dropped: code: E693 name: coda # Icon dropped: code: E694 name: bintray # Icon dropped: code: E696 name: code # Icon dropped: code: E697 name: responsive # Icon dropped: code: E699 name: aptana # Icon dropped: code: E69A name: mailchimp # Icon dropped: code: E69B name: netbeans # Icon dropped: code: E69D name: brackets # Icon dropped: code: E69F name: cloud9 # Icon dropped: code: E6A0 name: scrum # Icon dropped: code: E6A2 name: terminal_badge # Icon dropped: code: E6A3 name: code_badge # Icon dropped: code: E6AC name: asterisk # Icon dropped: code: E6B2 name: google_cloud_platform # Icon dropped: code: E6B7 name: openshift # Icon dropped: code: E6B9 name: rackspace # Icon dropped: code: E6BC name: scriptcs # Icon dropped: code: E6BD name: - # Icon dropped: code: E6BE name: - # Icon dropped: code: E6BF name: - # Icon dropped: code: E6C0 name: - # Icon dropped: code: E6C1 name: - # Icon dropped: code: E6C2 name: - # Icon dropped: code: E6C3 name: - Generated new mapping with 496 entries Signed-off-by: Fini Jastrow <[email protected]>
fca2b21
to
28b38cf
Compare
Current set of to-be-dropped icons Compare with #1691 (comment) |
[why] Some entries are only needed to adapt the Vorillaz Devicons to the Devicons Devicon. After the mapping file has been adapted we can remove them to clean up for coming updates. Signed-off-by: Fini Jastrow <[email protected]>
[why] The fixed icons have been improved and suggested as fixes upstream. The improvements were missing here. Signed-off-by: Fini Jastrow <[email protected]>
$ ./generate Program root: /usr Reading mapping file Found 496 entries Unpacking Devicons archive Mixing Vorillaz Devicons and possible fixes in Found 1688 svgs Bad RGB color spec: rgb(0%,0%,0%) Bad RGB color spec: rgb(0%,0%,0%) Bad RGB color spec: rgb(0%,0%,0%) Bad RGB color spec: rgb(0%,0%,0%) Using fixed svg for angularjs-plain.svg Using fixed svg for awk-plain.svg Bad RGB color spec: rgb(0%,0%,0%) Using fixed svg for bash-plain.svg Bad RGB color spec: rgb(25.882353%,12.156863%,37.254902%) Using fixed svg for llvm-plain.svg Bad RGB color spec: rgb(9.411765%,71.372549%,96.470588%) Generating devicons.ttf with 496 glyphs Generating GlyphInfo i_dev.sh Finished Signed-off-by: Fini Jastrow <[email protected]>
28b38cf
to
ef6bf1b
Compare
On The only icon that don't have a replacement is |
Thanks for digging deeper! 12 not dropped anymore icons: I think all of Regarding Mozilla
These both look like - if they are still relevant which I am not sure - can live with an icon update. |
I noticed the nginx current logo is not easy to identify on the terminal so I made a little PR to devicon with their "favicon" version: devicons/devicon#2291 |
Description
Switch from https://github.com/vorillaz/devicons to https://github.com/devicons/devicon to get more relevant developer icons
Fixes: #615
Requirements / Checklist
Issue number where discussion took place: #xxx
What does this Pull Request (PR) do?
How should this be manually tested?
Any background context you can provide?
What are the relevant tickets (if any)?
Fixes: #1693
Screenshots (if appropriate or helpful)
For more screenshots see further down