Git Product home page Git Product logo

geomicons-open's Introduction

Geomicons Open

Hand-Coded Open Source Icons for the Web http://geomicons.com

Fast, Plain & Simple

Smaller than similar webfonts and making fewer network requests than other icon solutions, Geomicons Open is built from the ground up for performance. Designed on a grid for pixel-precision at standard sizes, each icon is hand-coded to avoid the extra bloat from traditional vector drawing applications.

Getting Started

Download the source or install via npm or Bower:

npm install geomicons-open
bower install geomicons-open

Client-side Javascript Usage

Include the client-side JavaScript file.

<script src="geomicons.min.js"></script>

Add the data-icon attribute with an icon name to an element.

<span class="js-geomicon" data-icon="heart"></span>

Pass a nodelist to the geomicons.inject() method to replace elements with SVG icons.

<script>
  var icons = document.querySelectorAll('.js-geomicon');
  geomicons.inject(icons);
</script>

Node Usage

var geomicons = require('geomicons-open');

var pathData = geomicons.paths.heart; // Returns the path's d attribute value
var svgString = geomicons.toString('heart'); // Returns an SVG string

SVG Defs Usage

For a server-side solution, you can use native SVG defs instead of the javascript method above. This method makes zero extra network requests beyond the HTML file that includes it.

Instead of linking to the geomicons.min.js file, copy and paste the contents of the dist/geomicons-defs.svg file in your HTML. This code will not show up in your page.

<svg xmnls="http://www.w3.org/2000/svg" width="0" height="0"><defs>...</defs></svg>

Use the SVG <use> tag to create an instance of an icon.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="16" height="16">
  <use xlink:href="#heart"></use>
</svg>

You can also create partials, helper methods, or components to streamline the development process.


Copy/Paste

If you're only using one or two icons in your markup, it's probably better to paste the SVG code inline. Copy the icon from the website or open the icon SVG file and copy and paste the SVG code. Be sure to adjust the id attribute to not conflict with other elements.


Vector Drawing Applications

The SVG files in the dist/icons folder should open in applications such as Adobe Illustrator and Sketch. If you encounter any problems, please create an issue.


React

A React component for Geomicons Open is available on NPM.

npm install react-geomicons

See react-geomicons for more details.


Styling inline SVG with CSS

Inline SVGs can be styled with CSS, just like any other HTML element. Geomicons Open icons have the fill attribute set to currentcolor to inherit the foreground color. Set the width, height, and other properties with additional CSS.

<style>
  .geomicon { width: 1em; height: 1em; }
</style>
<span class="js-geomicon geomicon" data-id="heart"></span>

Sizing

Each icon is designed on a 32 x 32px grid. This means icons will look best at multiples of 16. I recommend sizing icons based on your type scale, or using one of the following sizes: 16, 24, 32, 48, or 64px.

1em

Leaving the default browser font size set at 16px, you can add styles that set width and height in ems and use multiples to keep the icons pixel perfect.

.geomicon {
  width: 1em;
  height: 1em;
}

Requesting Additional Icons

This set is intended to cover the most common use cases, and some things are not well suited to be represented as an icon. I intend to add more, but if you have any requests, please Create an Issue.

Contributing

Geomicons Open is a curated set of icons. Guidelines for contributing are coming soon.

MIT License

geomicons-open's People

Contributors

jxnblk avatar t1st3 avatar

Watchers

 avatar

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.