mikolajdobrucki/ikonate
Fully customisable & accessible vector icons
repo name | mikolajdobrucki/ikonate |
repo link | https://github.com/mikolajdobrucki/ikonate |
homepage | https://ikonate.com |
language | JavaScript |
size (curr.) | 359 kB |
stars (curr.) | 3011 |
created | 2017-10-20 |
license | MIT License |
Ikonate
Ikonate are fully customisable & accessible*, well-optimised vector icons.
To learn more about the project and generate the icons online, visit Ikonate.com. In the downloaded .zip file you will find:
- customised SVG icons as stand-alone files (perfect for designers who don’t want to edit code)
- customised SVG sprite with an html demo
- customised html demo of the icons as inline SVG
You can also follow the documentation below to generate generic demo files with all the available icons and customise them manually.
Built by @mikolajdobrucki & @mzaremski at ucreate
Installation
Git repository
You can clone this repository to manually install Ikonate in your project…
git clone https://github.com/eucalyptuss/ikonate.git
Install with npm
…or you can download the icons using npm package manager.
npm install ikonate
Build
To generate generic demo files and SVG sprites, install npm dependencies first.
npm install
Then, run a build command from the main repo directory.
npm run build
Demo & files structure
Raw SVG
All the icons are available as raw, unstyled SVGs at ./ikonate/icons
.
Demo files
To view the demo files, remember to run a build command first.
The generated demos of inline SVGs and SVG sprites are available respectively under ./ikonate/build/inline/index.html
and ./ikonate/build/sprite/index.html
.
IT DOESN’T WORK! If you open the sprite demo directly in your browser, it may not display the icons correctly. To fix it, open it using an local server such as http-server.
Usage
As <img>
or background-image
.
Reference: CSS Tricks: Using SVG as an <img>
To generate your icons as separate styled svg files, visit Ikonate.com.
Remember that using icons as <img>
or background-image
, you can’t customise them with CSS.
As inline SVG.
Reference: CSS Tricks: Using “inline” SVG
To use icons as inline svg, import the icons you need using a technique appropriate for your project from ./ikonate/icons
.
Using this approach, you can later customise the icons with CSS.
As SVG sprite.
Reference: CSS Tricks: SVG use
with External Reference
After running the build command successfully, you will find the SVG sprite with all the available icons in ./ikonate/sprite
.
To generate your custom optimised SVG sprite, visit Ikonate.com.
Using this approach, you can later customise the icons with CSS.
If you’d like to learn more about different ways of using SVG in your project, check out the following articles:
Customisation
To customise icons with CSS you need to use the icons as either inline SVG or SVG sprite.
You can use the following CSS parameters to customise the icons:
width
height
stroke
stroke-width
stroke-linecap
stroke-linejoin
e.g.:
width: 24px;
height: 24px;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
Check the demo files for a representative example.
You can also generate the styles and all the customised demo files at Ikonate.com.
Accessibility
Ikonate is NOT accessible out of the box and will never be. We’ve done our best to follow the best accessibility practices while building this software, but it’s your role to adjust it and make it truly accessible inside your project.
E.g. all the titles and descriptions given to the icons should be treated as placeholders and changed in implementation depending on an actual role of each icon. In many cases, you may not need them altogether.
To learn more on this topic, read an excellent article by Chris Coyier: How Can I Make My Icon System Accessible?
License
Ikonate is available under the MIT. Feel free to use the set in both personal and commercial projects. Attribution is much appreciated but not required.