Skip to content

EOS-uiux-Solutions/eos-icons

Repository files navigation

Open Source Love svg2 MIT license Website shields.io

EOS icons

EOS icons

Visit the EOS icons website

Visit our Storybook to use the react library in your react project.

An iconic font created for hi-tech open source software.

EOS icons comprises a set of free and open source icons. Handmade, using strict and consistent guidelines and processes, our icons set is an exceptionally scalable and cohesive solution that will boost the user experience in your applications and websites.

Additionally, EOS icons includes all of Material Design icons (*) and solves dozens of conflicting and duplicated icons from it.

If you find any issue let us know by opening an issue.

(*) https://github.com/google/material-design-icons

Migrating from v4 to v5

Go to the migration guidelines to see what changed in V5 and to get a comprehensive list of all icons removed or renamed, together with their new replacement.

Installation guide

npm install eos-icons --save

Using EOS icons in your projects

Add the Fonts and CSS file in your project as follows:

1- Add into your projects <head> the file eos-icons.css which is available inside the folder dist/css:

<link rel="stylesheet" href="assets/eos-icons.css">

or just add CDN and import icons easily :

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/eos-icons/dist/css/eos-icons.css" />

2- The file mentioned above will look for the font files which you can find inside the folder dist/fonts and should move to your assets/fonts folder.

3- Use the icons in your html as follows:

<i class="eos-icons"> LIGATURE_OF_THE_ICON</i>

Where the LIGATURE_OF_THE_ICON is the name of the icon. Use our online tool to see the icon's name: https://www.eos-icons.com/.

Using animated icons

1- Download the animated icon of your choice from https://www.eos-icons.com/ and add them into your project.

2- To use them you need to add the img tag in your html.

For example:

<img src="icon.svg" />

See the other animated icons classes in our demo page. Click on the icon you want to use to see the code snippet.

Development of EOS icons

Main dependencies

This project uses Webfont for Grunt to build. More info about the project: https://www.npmjs.com/package/grunt-webfont

We use Fontforge to render our icons since the quality is better than using plain node, and it supports Ligatures. Our icons follow Google Material Icons guidelines one-to-one. This is the main reason for us to use ligatures as well. We made a perfectly compatible icon font for those already using MD icons. If you want to know more about all the standards we follow for the EOS, visit our public wiki, which is our main internal guideline: https://gitlab.com/SUSE-UIUX/eos/wikis/home

Installing dependencies

  • Clone this repository and go to the folder:
git clone [email protected]:SUSE-UIUX/eos-icons.git
cd eos-icons
  • Make sure you have NODE.js installed, if not:
brew install node
  • Install Grunt globally:
npm install -g grunt-cli
  • Install npm dependencies:
npm install

Install Fontforge:

On OSX

brew install ttfautohint fontforge --with-python

You will need to have Xcode installed. First install the command line tool:

xcode-select --install

And then download the latest version from:

https://developer.apple.com/xcode/

  • On Linux
sudo apt-get install fontforge ttfautohint

Design and add your SVG icons

Add your icons into the svg/ folder. All our icons have been designed with Illustrator, but designing with any tool like Inkscape will work just fine, just make sure to export the SVG code is as clean as possible.

Have a look at our guidelines on how to design icons.

SVG file names with more than one word in it should not have a minus character separating the words (e.g.: some-name.svg), instead, use an underscore (e.g.: some_name.svg). The use of spaces in the filename also creates conflicts in the resulting iconic font.

Once you have the svg ready inside the svg/ folder, all you need to do, is run

grunt

This will build the assets under the dist/ folder. Open the demo file in dist/demo.html to see the results.

We recommended sizes MD icons use: 18, 24, 36, and 48 pixels, plus 16px which is our minimum allowed size at EOS Design System.

That's it!!.. easy as pie

Our "thank you" section

Tested for every browser in every device

Thanks to browserstack and their continuous contribution to open source projects, we continuously test the EOS to make sure all our features and components work perfectly fine in all browsers. Browserstack helps us make sure our Design System also delivers a peace of mind to all developers and designers making use of our components and layout in their products.