db442fb0c1
* Improve performance of search on website By reducing the number of times a search query loops over all icons or all icons that match the search query (from 3 to 1 and 2 to 0 respectively) the search on simpleicons.org should now be noticeably faster (if it was slow before). Especially in conjunction with #1169. This was achieved by utilizing CSS (which operates faster then plain JavaScript) to do most of the heavy lifting. A class on <body> now dictates the order of the icons rather then a JavaScript for-loop (found in the removed function `orderIcons`). It was also achieved by more cleverly utilizing the fuzzy search logic and recognizing that the CSS `order` property also works if number are not consecutive. Less relevant numbers will have a higher value assigned by fuzzy search, which is what the `order`-value of the icon will become, removing the need for sorting and an additional loop. Some resources that helped me: - https://css-tricks.com/css-attr-function-got-nothin-custom-properties/ - https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables Specifically the "Values in JavaScript" section * * * One unrelated change in stylesheet.css where 2 separate rulesets for .grid-item__link have been merged. * Simplify script with regard to button states * Reduce complexity of `previousQuery` variables |
||
---|---|---|
_data | ||
.github | ||
icons | ||
images | ||
scripts | ||
tests | ||
.gitignore | ||
.jsonlintschema | ||
.npmignore | ||
.svglintrc.js | ||
.travis.yml | ||
CNAME | ||
CONTRIBUTING.md | ||
index.html | ||
LICENSE.md | ||
package-lock.json | ||
package.json | ||
README.md | ||
site_script.js | ||
stylesheet.css |
Simple Icons
Free SVG icons for popular brands. See them all on one page at SimpleIcons.org. Contributions, corrections & requests can be made on GitHub. Started by Dan Leech.
Usage
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@latest/icons/[ICON NAME].svg" />
<img height="32" width="32" src="https://unpkg.com/simple-icons@latest/icons/[ICON NAME].svg" />
Where [ICON NAME]
is replaced by the icon name, for example:
<img height="32" width="32" src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/simpleicons.svg" />
<img height="32" width="32" src="https://unpkg.com/simple-icons@latest/icons/simpleicons.svg" />
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:
const simpleIcons = require('simple-icons');
console.log(simpleIcons['Simple Icons']);
/*
{
title: 'Simple Icons',
hex: '111111',
source: 'https://simpleicons.org/',
svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>'
}
*/
Alternatively you can import the needed icons individually. This is useful if you are e.g. compiling your code with webpack and therefore have to be mindful of your package size:
const icon = require('simple-icons/icons/simpleicons');
console.log(icon);
/*
{
title: 'Simple Icons',
hex: '111111',
source: 'https://simpleicons.org/',
svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>'
}
*/
Third Party Extensions
WordPress
Icons are also available on WordPress through a simple plugin created by @tjtaylo, which you can find here.