SVG icons for popular brands
Go to file
Eric Cornelissen a95ad430a3
Improve CI config: caching & refactoring (#5912)
* Set up caching jest cache for tests in CI

Use actions/cache to cache the jest cache between runs. The cache will
be invalided if the package-lock.json file is updated OR after 7
days [1]. The cache directory for jest is now also configured to be in a
directory called ".jestcache" at the root of this project. This
directory will be ignored by git due to its addition to the .gitignore.

--
1. https://docs.github.com/en/actions/guides/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy

* Trigger jest cache in CI

* Include date in cache key

This way the cache is invalidated very day

* Add name for caching Jest's cache step

* Demonstrate test failure with cache enabled

* Revert ff915d466075d5292c7b5772406ff62fe1a3e220

* Cache dependencies

* Update Jest cache configuration

* Refactor and use Jest cache in Publish workfow

- Refactor out the duplicated sanity check in the publish workflow into
  a separate, depended upon, job.
- Use the Jest cache in the Publish workflow.

* Update linter job in CI to just run `npm run lint`

... whereas previously it ran each linter separately. This avoids having
to update the workflow file if a new linter is added (or a linter is
removed).

* Use run_number instead of date for jest cache in CI

* Simplify GitHub release publish job
2021-06-29 12:07:50 +02:00
_data Add Razorpay (#5528) 2021-06-28 09:46:13 -04:00
.github Improve CI config: caching & refactoring (#5912) 2021-06-29 12:07:50 +02:00
icons Add Razorpay (#5528) 2021-06-28 09:46:13 -04:00
scripts Rename 'get' to 'Get' on simpleIcons export (#5777) 2021-05-28 11:16:50 +01:00
tests Rename 'get' to 'Get' on simpleIcons export (#5777) 2021-05-28 11:16:50 +01:00
.dockerignore Remove (old) website source files (#5553) 2021-05-29 18:00:40 +02:00
.editorconfig Remove (old) website source files (#5553) 2021-05-29 18:00:40 +02:00
.gitattributes Remove (old) website source files (#5553) 2021-05-29 18:00:40 +02:00
.gitignore Improve CI config: caching & refactoring (#5912) 2021-06-29 12:07:50 +02:00
.jsonschema.json Remove Hyphens from Filenames (#5611) 2021-05-27 19:29:34 +02:00
.npmignore Add DISCLAIMER.md (#4912) 2021-05-29 17:46:31 +02:00
.svglint-ignored.json Update Grubhub (#5168) 2021-06-17 16:34:37 +01:00
.svglintrc.js Update 'svg-path-bbox' to v1.0.0 (#5846) 2021-06-03 20:15:21 +01:00
composer.json Add composer.json (#1611) 2019-09-26 09:04:33 +03:00
CONTRIBUTING.md Make code snippets easier to copy (#5736) 2021-05-29 18:40:37 +01:00
DISCLAIMER.md Add DISCLAIMER.md (#4912) 2021-05-29 17:46:31 +02:00
Dockerfile Update Node.js to v16 (#5643) 2021-05-10 10:25:37 +02:00
jest.config.js Improve CI config: caching & refactoring (#5912) 2021-06-29 12:07:50 +02:00
LICENSE.md Minor improvements (#4708) 2021-01-15 21:47:00 +01:00
package-lock.json Update all dependencies (#6038) 2021-06-28 08:41:55 +02:00
package.json Update all dependencies (#6038) 2021-06-28 08:41:55 +02:00
README.md chore: update username for Python extension (#5944) 2021-06-15 15:01:54 -04:00
slugs.md version bump 2021-06-27 00:10:34 +00:00
svgo.config.js Upgrade SVGO to version 2 (#5079) 2021-02-21 13:48:30 +01:00

Simple Icons

Simple Icons

Over 1500 Free SVG icons for popular brands. See them all on one page at SimpleIcons.org. Contributions, corrections & requests can be made on GitHub.

Build status NPM version Build status

Usage

We ask that all users read our legal disclaimer before using icons from Simple Icons.

General Usage

Icons can be downloaded as SVGs directly from our website - simply click the icon you want, and the download should start automatically.

CDN Usage

Icons can be served from a CDN such as JSDelivr or Unpkg. Simply use the simple-icons npm package and specify a version in the URL like the following:

<img height="32" width="32" src="https://cdn.jsdelivr.net/npm/simple-icons@v5/icons/[ICON SLUG].svg" />
<img height="32" width="32" src="https://unpkg.com/simple-icons@v5/icons/[ICON SLUG].svg" />

Where [ICON SLUG] is replaced by the slug of the icon you want to use, for example:

<img height="32" width="32" src="https://cdn.jsdelivr.net/npm/simple-icons@v5/icons/simpleicons.svg" />
<img height="32" width="32" src="https://unpkg.com/simple-icons@v5/icons/simpleicons.svg" />

These examples use the latest major version. This means you won't receive any updates following the next major release. You can use @latest instead to receive updates indefinitely. However, this will result in a 404 error if the icon is removed.

Node Usage

The icons are also available through our npm package. To install, simply run:

npm install simple-icons

The API can then be used as follows, where [ICON SLUG] is replaced by a slug:

const simpleIcons = require('simple-icons');

// Get a specific icon by its slug as:
// simpleIcons.Get('[ICON SLUG]');

// For example:
const icon = simpleIcons.Get('simpleicons');

Alternatively you can import the needed icons individually, where [ICON SLUG] is replaced by a slug. This is useful if you are e.g. compiling your code with webpack and therefore have to be mindful of your package size:

// Import a specific icon by its slug as:
// require('simple-icons/icons/[ICON SLUG]');

// For example:
const icon = require('simple-icons/icons/simpleicons');

Either method will return an icon object:

console.log(icon);

/*
{
    title: 'Simple Icons',
    slug: 'simpleicons',
    hex: '111111',
    source: 'https://simpleicons.org/',
    svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>',
    path: 'M12 12v-1.5c-2.484 ...',
    guidelines: 'https://simpleicons.org/styleguide',
    license: {
        type: '...',
        url: 'https://example.com/'
    }
}

NOTE: the `guidelines` entry will be `undefined` if we do not yet have guidelines for the icon.
NOTE: the `license` entry will be `undefined` if we do not yet have license data for the icon.
*/

Lastly, the simpleIcons object is also enumerable. This is useful if you want to do a computation on every icon:

const simpleIcons = require('simple-icons');

for (const iconSlug in simpleIcons) {
    const icon = simpleIcons.Get(iconSlug);
    // do stuff
}

TypeScript Usage

There are also TypeScript type definitions for the Node package. To use them, simply run:

npm install @types/simple-icons

PHP Usage

The icons are also available through our Packagist package. To install, simply run:

composer require simple-icons/simple-icons

The package can then be used as follows, where [ICON SLUG] is replaced by a slug:

<?php
// Import a specific icon by its slug as:
echo file_get_contents('path/to/package/icons/[ICON SLUG].svg');

// For example:
echo file_get_contents('path/to/package/icons/simpleicons.svg');

// <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>
?>

Third Party Extensions

Extension Author
Drupal module Phil Wolstenholme
Flutter package @jlnrrg
Hexo plugin @nidbCN
Home Assistant plugin @vigonotion
Jetpack Compose library @devsrsouza
Kirby plugin @runxel
Laravel Package @adrian-ub
Python package @sachinraja
React package @wootsbot
Svelte package @wootsbot
Vue package @noahlitvin
WordPress plugin @tjtaylo