mirror of
				https://github.com/Mibew/simple-icons.git
				synced 2025-11-04 04:15:17 +03:00 
			
		
		
		
	Release 4 new icons and 2 updated icons (v2.18.0)
- Cypress (#3228) - NestJS (#3113) - Qt (#3162) - Sennheiser (#3045) - BMC Software (#3239) - Intercom (#3227)
This commit is contained in:
		
						commit
						1752358a9d
					
				
							
								
								
									
										25
									
								
								.github/ISSUE_TEMPLATE/icon_request.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/ISSUE_TEMPLATE/icon_request.md
									
									
									
									
										vendored
									
									
								
							@ -4,17 +4,26 @@ about: Request a new icon for SimpleIcons
 | 
			
		||||
labels: new icon
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
<!-- Before opening a new issue search for duplicate or closed issues -->
 | 
			
		||||
<!--
 | 
			
		||||
  We won't add non-brand icons or anything related to illegal services.
 | 
			
		||||
  If in doubt, open an issue and we'll have a look.
 | 
			
		||||
 | 
			
		||||
  Before opening a new issue please search for duplicate or closed
 | 
			
		||||
  issues or PRs. If you find one for the brand your requesting then
 | 
			
		||||
  leave a comment on it or add a reaction to the original post.
 | 
			
		||||
 | 
			
		||||
<!-- When requesting a new icon we need information such as: -->
 | 
			
		||||
  When requesting a new icon please provide the following information:
 | 
			
		||||
-->
 | 
			
		||||
**Name:**
 | 
			
		||||
**Website:**
 | 
			
		||||
**Alexa rank:**
 | 
			
		||||
  <!-- The Alexa rank can be retrieved at https://www.alexa.com/siteinfo/
 | 
			
		||||
       Please see our contributing guidelines for more details on how we
 | 
			
		||||
       assess a brand's popularity. -->
 | 
			
		||||
 | 
			
		||||
**Official resources for icon and color:**
 | 
			
		||||
  <!-- for example media kits, brand guidelines, SVG files, ...) -->
 | 
			
		||||
  <!-- for example media kits, brand guidelines, SVG files, etc. -->
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
<!--
 | 
			
		||||
We won't add non-brand icons or anything related to illegal services.
 | 
			
		||||
If in doubt open an issue and we'll have a look.
 | 
			
		||||
-->
 | 
			
		||||
<!-- For more details on our processes please see our contributing
 | 
			
		||||
     guidelines, which can be found at
 | 
			
		||||
     https://github.com/simple-icons/simple-icons/blob/develop/CONTRIBUTING.md -->
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							@ -7,6 +7,10 @@ https://petershaggynoble.github.io/MDI-Sandbox/simpleicons/preview/
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
**Issue:**
 | 
			
		||||
**Alexa rank:**
 | 
			
		||||
  <!-- The Alexa rank can be retrieved at https://www.alexa.com/siteinfo/
 | 
			
		||||
       Please see our contributing guidelines for more details on how we
 | 
			
		||||
       assess a brand's popularity. -->
 | 
			
		||||
 | 
			
		||||
### Checklist
 | 
			
		||||
  - [ ] I updated the JSON data in `_data/simple-icons.json`
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@ const { htmlFriendlyToTitle } = require("./scripts/utils.js");
 | 
			
		||||
const getBounds = require("svg-path-bounding-box");
 | 
			
		||||
 | 
			
		||||
const titleRegexp = /(.+) icon$/;
 | 
			
		||||
const svgRegexp = /^<svg.*<\/svg>\r?\n?$/;
 | 
			
		||||
 | 
			
		||||
const iconSize = 24;
 | 
			
		||||
const iconFloatPrecision = 3;
 | 
			
		||||
const iconIgnored = require("./.svglint-ignored.json");
 | 
			
		||||
@ -70,6 +72,14 @@ module.exports = {
 | 
			
		||||
              reporter.error(`Size of <path> must be exactly ${iconSize} in one dimension; the size is currently ${width} x ${height}`);
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          function(reporter, $, ast) {
 | 
			
		||||
            reporter.name = "extraneous";
 | 
			
		||||
 | 
			
		||||
            const rawSVG = $.html();
 | 
			
		||||
            if (!svgRegexp.test(rawSVG)) {
 | 
			
		||||
              reporter.error("Unexpected character(s) detected outside the opening and/or closing <svg> tags");
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
        ]
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -1425,6 +1425,11 @@
 | 
			
		||||
            "hex": "073551",
 | 
			
		||||
            "source": "https://curl.haxx.se/logo/"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Cypress",
 | 
			
		||||
            "hex": "17202C",
 | 
			
		||||
            "source": "https://cypress.io"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "D3.js",
 | 
			
		||||
            "hex": "F9A03C",
 | 
			
		||||
@ -2967,8 +2972,8 @@
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Intercom",
 | 
			
		||||
            "hex": "1F8DED",
 | 
			
		||||
            "source": "https://www.intercom.io"
 | 
			
		||||
            "hex": "6AFDEF",
 | 
			
		||||
            "source": "https://www.intercom.com/press"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Internet Archive",
 | 
			
		||||
@ -4030,6 +4035,11 @@
 | 
			
		||||
            "hex": "57A143",
 | 
			
		||||
            "source": "https://github.com/neovim/neovim.github.io/tree/master/logos"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "NestJS",
 | 
			
		||||
            "hex": "E0234E",
 | 
			
		||||
            "source": "https://nestjs.com/"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "NetApp",
 | 
			
		||||
            "hex": "0067C5",
 | 
			
		||||
@ -4820,6 +4830,11 @@
 | 
			
		||||
            "hex": "FF8C00",
 | 
			
		||||
            "source": "https://qiwi.com/"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Qt",
 | 
			
		||||
            "hex": "41CD52",
 | 
			
		||||
            "source": "https://qt-brandbook.webflow.io/design"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Qualcomm",
 | 
			
		||||
            "hex": "3253DC",
 | 
			
		||||
@ -5225,6 +5240,11 @@
 | 
			
		||||
            "hex": "86BC40",
 | 
			
		||||
            "source": "http://design.sencha.com/"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Sennheiser",
 | 
			
		||||
            "hex": "000000",
 | 
			
		||||
            "source": "https://sennheiser.com"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "title": "Sensu",
 | 
			
		||||
            "hex": "89C967",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								icons/cypress.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								icons/cypress.svg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Cypress icon</title><path d="M11.998 0C5.366 0 0 5.367 0 12a11.992 11.992 0 0 0 12 12c6.633 0 12-5.367 12-12-.001-6.633-5.412-12-12.002-12zM6.37 14.575c.392.523.916.742 1.657.742.35 0 .699-.044 1.004-.175.306-.13.655-.306 1.09-.567l1.223 1.745c-1.003.83-2.138 1.222-3.447 1.222-1.048 0-1.92-.218-2.705-.654a4.393 4.393 0 0 1-1.746-1.92c-.392-.83-.611-1.79-.611-2.925 0-1.09.219-2.094.61-2.923a4.623 4.623 0 0 1 1.748-2.007c.741-.48 1.657-.698 2.661-.698.699 0 1.353.087 1.877.305a5.64 5.64 0 0 1 1.614.96l-1.222 1.658A4.786 4.786 0 0 0 9.12 8.77c-.305-.13-.698-.174-1.048-.174-1.483 0-2.225 1.134-2.225 3.446-.043 1.18.175 2.008.524 2.532H6.37zm12 2.705c-.436 1.353-1.091 2.357-2.008 3.098-.916.743-2.138 1.135-3.665 1.266l-.305-2.05c1.003-.132 1.745-.35 2.225-.7.174-.13.524-.523.524-.523L11.519 6.764h3.01l2.095 8.683 2.226-8.683h2.923L18.37 17.28z"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 937 B  | 
							
								
								
									
										1
									
								
								icons/nestjs.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								icons/nestjs.svg
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
		 After Width: | Height: | Size: 6.2 KiB  | 
							
								
								
									
										1
									
								
								icons/qt.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								icons/qt.svg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Qt icon</title><path d="M21.693 3.162H3.33L0 6.49v14.348h20.671L24 17.51V3.162zM12.785 18.4l-1.562.728-1.35-2.217c-.196.057-.499.09-.924.09-1.579 0-2.683-.425-3.305-1.276-.622-.85-.932-2.2-.932-4.033 0-1.84.319-3.206.949-4.098.63-.892 1.726-1.341 3.288-1.341 1.562 0 2.658.441 3.28 1.333.63.883.94 2.25.94 4.098 0 1.219-.13 2.2-.384 2.945-.261.752-.679 1.325-1.268 1.718zm4.736-1.587c-.858 0-1.447-.196-1.766-.59-.32-.392-.483-1.136-.483-2.232v-3.534H14.11V9.051h1.162V6.843h1.644V9.05h2.094v1.415h-2.094v3.346c0 .622.05 1.03.14 1.227.09.204.326.303.695.303l1.243-.05.073 1.326c-.67.13-1.186.196-1.546.196zm-8.58-9.08c-.95 0-1.604.311-1.963.94-.352.63-.532 1.629-.532 3.011 0 1.374.172 2.364.515 2.953.344.589 1.006.892 1.98.892.973 0 1.628-.295 1.971-.876.335-.58.507-1.57.507-2.953 0-1.39-.172-2.396-.523-3.026-.352-.63-1.006-.94-1.955-.94Z"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 929 B  | 
							
								
								
									
										1
									
								
								icons/sennheiser.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								icons/sennheiser.svg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Sennheiser icon</title><path d="M0 3v18h24V3zm13.209 1.659c-1.428.548-2.799 1.757-3.905 4.182-.321.703-.925 2.062-1.2 2.67-2.224 4.882-3.364 5.932-6.72 5.932V4.35H13.15c.184-.011.235.25.06.309zm9.428 1.894V19.65H10.851c-.181.005-.227-.25-.055-.309 1.427-.548 2.798-1.757 3.904-4.182.321-.703.926-2.062 1.2-2.67 2.22-4.882 3.36-5.932 6.716-5.932z"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 433 B  | 
							
								
								
									
										26
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								index.html
									
									
									
									
									
								
							@ -29,10 +29,6 @@
 | 
			
		||||
    {% endif %}
 | 
			
		||||
 | 
			
		||||
    {% assign filename = filename | downcase %}
 | 
			
		||||
    {% assign filename = filename | replace: "+", "plus" %}
 | 
			
		||||
    {% assign filename = filename | replace: ".", "-dot-" %}
 | 
			
		||||
    {% assign filename = filename | replace: "&", "-and-" %}
 | 
			
		||||
    {% assign filename = filename | replace: " ", "" | replace: "!", "" | replace: ":", "" | replace: "’", "" | replace: "'", "" %}
 | 
			
		||||
    {% assign filename = filename | replace: "à", "a" | replace: "á", "a" | replace: "â", "a" | replace: "ã", "a" | replace: "ä", "a" %}
 | 
			
		||||
    {% assign filename = filename | replace: "ç", "c" | replace: "č", "c" | replace: "ć", "c" %}
 | 
			
		||||
    {% assign filename = filename | replace: "è", "e" | replace: "é", "e" | replace: "ê", "e" | replace: "ë", "e" %}
 | 
			
		||||
@ -44,6 +40,12 @@
 | 
			
		||||
    {% assign filename = filename | replace: "ý", "y" | replace: "ÿ", "y" %}
 | 
			
		||||
    {% assign filename = filename | replace: "ž", "z" | replace: "ź", "z" %}
 | 
			
		||||
 | 
			
		||||
    {% assign searchTerm = filename %}
 | 
			
		||||
    {% assign filename = filename | replace: "+", "plus" %}
 | 
			
		||||
    {% assign filename = filename | replace: ".", "-dot-" %}
 | 
			
		||||
    {% assign filename = filename | replace: "&", "-and-" %}
 | 
			
		||||
    {% assign filename = filename | replace: " ", "" | replace: "!", "" | replace: ":", "" | replace: "’", "" | replace: "'", "" %}
 | 
			
		||||
 | 
			
		||||
    {% assign hex = icon.hex %}
 | 
			
		||||
    {% assign hex = icon.hex %}
 | 
			
		||||
    {% assign hexCharacter1 = hex | slice: 0, 1 %}
 | 
			
		||||
@ -136,10 +138,10 @@
 | 
			
		||||
 | 
			
		||||
    {% if hslSaturation < 10 %}
 | 
			
		||||
        {% assign hslLuminance = hslLuminance | round: 0 | prepend: "000" | slice: -3, 3 %}
 | 
			
		||||
        {% capture greyscaleIconsUnsortedString %}{{ greyscaleIconsUnsortedString }}{{ hslLuminance }},{{ filename }},{{ hslHue }},{{ hslSaturation }},{{ hex }},{{ title }},{{ class }},{{ forloop.index }}{% unless forloop.last %};{% endunless %}{% endcapture %}
 | 
			
		||||
        {% capture greyscaleIconsUnsortedString %}{{ greyscaleIconsUnsortedString }}{{ hslLuminance }},{{ filename }},{{ hslHue }},{{ hslSaturation }},{{ hex }},{{ title }},{{ class }},{{ searchTerm }},{{ forloop.index }}{% unless forloop.last %};{% endunless %}{% endcapture %}
 | 
			
		||||
    {% else %}
 | 
			
		||||
        {% assign hslHue = hslHue | round: 0 | prepend: "000" | slice: -3, 3 %}
 | 
			
		||||
        {% capture iconsUnsortedString %}{{ iconsUnsortedString }}{{ hslHue }},{{ hslSaturation }},{{ hslLuminance }},{{ filename }},{{ hex }},{{ title }},{{ class }},{{ forloop.index }}{% unless forloop.last %};{% endunless %}{% endcapture %}
 | 
			
		||||
        {% capture iconsUnsortedString %}{{ iconsUnsortedString }}{{ hslHue }},{{ hslSaturation }},{{ hslLuminance }},{{ filename }},{{ hex }},{{ title }},{{ class }},{{ searchTerm }},{{ forloop.index }}{% unless forloop.last %};{% endunless %}{% endcapture %}
 | 
			
		||||
    {% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
 | 
			
		||||
@ -149,11 +151,11 @@
 | 
			
		||||
{% assign allIconNames = "" %}
 | 
			
		||||
{% for icon in iconsArray %}
 | 
			
		||||
    {% assign iconArray = icon | split: "," %}
 | 
			
		||||
    {% capture allIconNames %}{{ allIconNames }}"{{ iconArray[5] }}",{% endcapture %}
 | 
			
		||||
    {% capture allIconNames %}{{ allIconNames }}"{{ iconArray[7] }}",{% endcapture %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% for icon in greyscaleIconsArray %}
 | 
			
		||||
    {% assign iconArray = icon | split: "," %}
 | 
			
		||||
    {% capture allIconNames %}{{ allIconNames }}"{{ iconArray[5] }}"{% unless forloop.last %},{% endunless %}{% endcapture %}
 | 
			
		||||
    {% capture allIconNames %}{{ allIconNames }}"{{ iconArray[7] }}"{% unless forloop.last %},{% endunless %}{% endcapture %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
 | 
			
		||||
<!doctype html>
 | 
			
		||||
@ -191,12 +193,8 @@
 | 
			
		||||
 | 
			
		||||
      ga('create', 'UA-100751516-2', 'auto');
 | 
			
		||||
      ga('send', 'pageview');
 | 
			
		||||
    </script>
 | 
			
		||||
    <script>
 | 
			
		||||
      function normalizeSearchTerm(value) {
 | 
			
		||||
          return value.toLowerCase();
 | 
			
		||||
      }
 | 
			
		||||
      var icons = [{{ allIconNames }}].map(normalizeSearchTerm);
 | 
			
		||||
 | 
			
		||||
      var icons = [{{ allIconNames }}];
 | 
			
		||||
    </script>
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "simple-icons",
 | 
			
		||||
  "version": "2.17.1",
 | 
			
		||||
  "version": "2.19.0",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "simple-icons",
 | 
			
		||||
  "version": "2.17.1",
 | 
			
		||||
  "version": "2.19.0",
 | 
			
		||||
  "description": "SVG icons for popular brands https://simpleicons.org",
 | 
			
		||||
  "homepage": "https://www.simpleicons.org",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,20 @@
 | 
			
		||||
    return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function normalizeSearchTerm(value) {
 | 
			
		||||
    return value.toLowerCase().toLowerCase()
 | 
			
		||||
      .replace(/à|á|â|ã|ä/g, "a")
 | 
			
		||||
      .replace(/ç|č|ć/g, "c")
 | 
			
		||||
      .replace(/è|é|ê|ë/g, "e")
 | 
			
		||||
      .replace(/ì|í|î|ï/g, "i")
 | 
			
		||||
      .replace(/ñ|ň|ń/g, "n")
 | 
			
		||||
      .replace(/ò|ó|ô|õ|ö/g, "o")
 | 
			
		||||
      .replace(/š|ś/g, "s")
 | 
			
		||||
      .replace(/ù|ú|û|ü/g, "u")
 | 
			
		||||
      .replace(/ý|ÿ/g, "y")
 | 
			
		||||
      .replace(/ž|ź/g, "z");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function search(value) {
 | 
			
		||||
    var query = normalizeSearchTerm(value)
 | 
			
		||||
        queryLetters = query.split('');
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user