Ikonate
Ikonate are fully customisable & accessible*(link is external), well-optimised vector icons.
To learn more about the project and generate the icons online, visit Ikonate.com(link is external). 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(link is external) & @mzaremski(link is external) at ucreate(link is external)
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(link is external) package manager.
npm install ikonate
Build
To generate generic demo files and SVG sprites, install npm(link is external) 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(link is external) 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(link is external).
Usage
<img>
or background-image
.
As Reference: CSS Tricks: Using SVG as an <img>
(link is external)
To generate your icons as separate styled svg files, visit Ikonate.com(link is external).
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(link is external)
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(link is external).
As SVG sprite.
Reference: CSS Tricks: SVG use
with External Reference(link is external)
After running the build command(link is external) 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(link is external).
Using this approach, you can later customise the icons with CSS(link is external).
If you'd like to learn more about different ways of using SVG in your project, check out the following articles:
- A Practical Guide by svgontheweb.com(link is external)
- Using SVG Tutorial by CSS-Tricks(link is external)
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(link is external) for a representative example.
You can also generate the styles and all the customised demo files at Ikonate.com(link is external).
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?(link is external)
License
Ikonate is available under the MIT(link is external). Feel free to use the set in both personal and commercial projects. Attribution is much appreciated but not required.