Coder Social home page Coder Social logo

mikolajdobrucki / ikonate Goto Github PK

View Code? Open in Web Editor NEW
3.5K 47.0 188.0 433 KB

Fully customisable & accessible vector icons

Home Page: https://ikonate.com

License: MIT License

JavaScript 86.33% HTML 13.67%
icons icon-set icon-pack svg sprites spritesheet icon-system icon-sprite-generator

ikonate's Introduction

Ikonate

npm version

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.

ikonate's People

Contributors

eucalyptuss avatar mikolajdobrucki avatar mzaremski avatar panmona avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ikonate's Issues

Unable to download icons

Access to fetch at 'https://api-ikonate.herokuapp.com/api/download_svgs_v2' from origin 'https://ikonate.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. rollbar.min.js:2 POST https://api-ikonate.herokuapp.com/api/download_svgs_v2 net::ERR_FAILED (anonymous) @ rollbar.min.js:2 value @ main.2ba3ff5a.js:1 onClick @ main.2ba3ff5a.js:1 o @ main.2ba3ff5a.js:1 invokeGuardedCallback @ main.2ba3ff5a.js:1 invokeGuardedCallbackAndCatchFirstError @ main.2ba3ff5a.js:1 u @ main.2ba3ff5a.js:1 d @ main.2ba3ff5a.js:1 m @ main.2ba3ff5a.js:1 p @ main.2ba3ff5a.js:1 v @ main.2ba3ff5a.js:1 y @ main.2ba3ff5a.js:1 ze @ main.2ba3ff5a.js:1 gr @ main.2ba3ff5a.js:1 J @ main.2ba3ff5a.js:1 Ve @ main.2ba3ff5a.js:1 br @ main.2ba3ff5a.js:1 He @ main.2ba3ff5a.js:1 o._rollbar_wrapped.o._rollbar_wrapped @ (index):1 rollbar.min.js:2 TypeError: Failed to fetch at rollbar.min.js:2:23724 at t.value (main.2ba3ff5a.js:1:168289) at onClick (main.2ba3ff5a.js:1:167822) at Object.o (main.2ba3ff5a.js:1:42450) at Object.invokeGuardedCallback (main.2ba3ff5a.js:1:108137) at Object.invokeGuardedCallbackAndCatchFirstError (main.2ba3ff5a.js:1:108254) at u (main.2ba3ff5a.js:1:43379) at d (main.2ba3ff5a.js:1:43847) at m (main.2ba3ff5a.js:1:44004) at p (main.2ba3ff5a.js:1:43666)

Export not working

Hello,

This morning I was trying to download few icons, but as I am clicking export icon btn there isn't any download happening.

I checked in network request tab and got the issue from where it was coming. One of your API which is responsible for downloading SVGs is throwing "CORS" error.

Icons export is not working

When you select icons and click on "export", nothing is exported. The export button is not working.

Thanks for everything!

Problems when importing Ikonate svg with Sketch icon plugin.

Hi,
I'm facing this problem every time I try to import the Ikonate svg files using Sketch Icon plugin. I already tried to do it in different ways but the icons came always broken as in the screenshot bellow. Can you help?

Thanks in advance

Screenshot 2019-07-10 at 17 47 22

Screenshot 2019-07-10 at 17 46 57

A11Y of your website

Hi, you stress accessibility, but your main text on the site is #828398 on almost-white. I'd reconsider making the light grey way more black, like below #333.

Add react-ikonate as possible usage option in README

Hello!

First of all great icon set. So great, that I decided to fork and create an easy to use solution for people using React.

I will try to keep it up to date with master on this repository. I gave you full credit for the icons in my README. Would you like to add my project to yours, so that people can see?

It is on NPM at react-ikonate

Many vectors don't display at all

Hi there -
When I download master and take a look in my Mac Finder, many vectors don't show up at all:

When I open them in Chrome, they also are blank:

There seems to be a number of icons that are subject to this.
Any thoughts?

License Conflict

Ikonate is available under the MIT. Feel free to use the set in both personal and commercial projects. Attribution in much appreciated but not required.

Do not resell or redistribute the icons, even for free. If you share the set on the web, always link to the project's page, not directly to the file. Do not repost the file on other websites and services.

This does not make much sense. The MIT license explicitly allows resale and redistribution, even for free. Perhaps you were thinking of a Creative Commons variant?

Edit: Credit to mkl on Hacker News for noticing this.

Authors

You mention Built by @mikolajdobrucki & @mzaremski at ucreate in the README.md and only by @mikolajdobrucki & ucreate on the landing page

In the app, line thickness and icon size can be set to 0 and below

The issue is in the title. This is not that critical but is still a bad thing to have in a public project :D

2018-09-18 16-23-52

And, yeah, do change the color value of inputs and stuff if you change the background color or do neither of that, so people with dark desktop themes don't bleed their eyes out.

2018-09-18 16-27-49

Relation to Feather Icons?

I may be mistaken, buuut
as for me, the ikonate set looks way too close to Feather icons. I even thought that ikonate is some kind of collab or an app for Feather icons at first glance.

Of course, they are separate packs, but I still wonder if Feather icons were used as a reference. The overall style and the icons that were chosen to be in the ikonate set make me question about it.

Btw I'm in no way affiliated to Feather icons, and those icons are distributed under the MIT license, too.

Align-left and align-right are the same

Just taking a look after seeing this pop up on HN. Nice work!

I noticed that (at least on ikonate.com) the align-left and align-right icons are the same.

Screenshot 2019-04-19 at 10 35 40

Colorless icons?

Very cool icons set, thank you for sharing!

I was about to use them and realized that colors are hardcoded in the SVG which makes it very difficult to change with CSS. Is there a specific reason you made it that way? Would you be open to drop the color definitions in the SVG to avoid this issue?

"OK" and "OK-alt".svg images appear to be corrupt

Both the "OK" and "OK-alt" images appear to be corrupt after downloading several times, I can find no program that will take them but will take the others. However, this only seems to affect the .svg formatted images in the download.

Accessible icon labels

I've posted this on Hacker News already, but I think it's better to have this in the GitHub repository as well.


I've also tested an example icon with Firefox + NVDA (inline SVG), which leads to the following screen reader announcement:

Add Icon of a plus sign enclosed in a circle graphic

This has multiple issues from the accessibility perspective:

  1. IF you are using a title + description, use aria-labelledby for the main label (= title) and aria-describedby for the description. Right now there is no separation and both labels will be read without a pause, making no sense (what is an "add icon of a plus sign .."?).

  2. I would advice against using a description altogether. A screen reader user does not care about how the icon looks. He/she cares about the action it performs. So here, "Add" (depending on the context) is more than enough. As a general tip: Screen reader users should have access to the same information as sighted users. That's why we don't describe decorative images for example (alt=""), because there is no information behind it.

  3. "Icon of" is unnecessary. As you can see in the NVDA output, when using "role=img" the user already knows it's an graphic. Hence, "Icon of" or "Image of" should not be used in image descriptions.

  4. Keep in mind, there are still some issues with SVGs and screen readers to think about. Therefore I also prefer to use the labels on the enclosing elements (buttons, links) instead.

As discussed in the HN thread, wrong or false labels do in fact cause more harm than good. I understand that you want to provide sane default, but I would rather encourage people to edit the labels themselves. For example, you could add an explanation with some examples somewhere on the page.

I hope, you find my tips helpful. Keep up the good work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.