2.3.315-beta • Published 8 years ago

swarm-icons v2.3.315-beta

Weekly downloads
865
License
MIT
Repository
github
Last release
8 years ago

swarm-icons

npm version Build Status

Icon library module of the Swarm Design System

Documentation

https://meetup.github.io/swarm-icons/


Using swarm-icons in your project

Installation

yarn add swarm-icons

Usage

Optimized svg files

If you need individual svg files for your project, you will find them in dist/optimized.

SVG sprite

For an svg sprite, swarm-icons also generates an HTML include, dist/sprite/sprite.inc. You can inject this include into the top of an HTML document (right after the opening body tag). For more information about svg sprites, see this article from CSS Tricks.

React

If the svg sprite is included at the top of every HTML document in your React project, you can use the Icon component in meetup-web-components to render the icon.


Modifying the icon library

Sketch file organization

Each platform (web, iOS, Android) has its own page in an icon sketch file. Each platform page contains normal and "small" icon variants. We use this information hierarchy to support different shapes based on platform or variant.

SVG conventions

  • Icons should be filled with #000000 at 100% opacity
  • Icons should be compound paths - these are easier to create in Adobe Illustrator
  • The icon path should not contain a stroke
  • If it's not an icon (e.g.: Meetup script logotype), send it directly to the engineer

Sketch file structure

<file.sketch>
   |
   | - Web (page)
	|   |- icon-name (artboard for default icon)
	|   |- icon-name--small (artboard for small variant)
	|   |- icon-name--[otherVariant] (artboard for other variant)
   | - iOS (page)
	|   |- icon-name (artboard for default icon)
	|   |- icon-name--small (artboard for small variant)
	|   |- icon-name--[otherVariant] (artboard for other variant)
   | - Android (page)
	    |- icon-name (artboard for default icon)
	    |- icon-name--small (artboard for small variant)
	    |- icon-name--[otherVariant] (artboard for other variant)
Artboard naming conventions
  • Use lower case letters and hyphens only
  • For icon variants such as "small", use a double dash - for example, my-icon--small

Adding new icons

  1. Check out a new branch. For example, new_fancy_icon.
  2. Use Sketch or Adobe Illustrator templates in design_resources/ to design a new icon
    • IconGrid.ai contains the icon grid
    • IconExport.sketch contains the basic setup for an icon sketch file
  3. Save the sketch file for your icon to src/sketch/
  4. Commit any changes to files in src/sketch
  5. Run yarn run build to export icon distribution from sketch files checked into src/sketch
  6. Commit the resulting changes
  7. Submit a pull request
  8. The PR will publish a -beta tag to npm if you need to test the icon in a consumer app

Changing an icon

  1. Check out a new branch. For example, edit_camera_icon.
  2. Use the sketch source file in src/sketch/ to make edits
  3. Commit any changes to files in src/sketch
  4. Run yarn run build to export icon distributions from sketch files
  5. Commit the resulting changes
  6. Submit a pull request
  7. The PR will publish a -beta tag to npm

Reviewing pull requests

Use this handy checklist to review pull requests:

  • Was an icon deleted? If so, did we bump the minor version in Makefile?
  • If the major version was updated in Makefile, was this README updated with release notes?
  • Do generated file names in dist/ match the name of the .sketch file committed?
  • Does the icon name make sense out of context, or is it ambiguous?
  • Do the generated distributions fit the criteria listed here?

Releases

This package uses semver versioning to tag releases, although the patch version is determined exclusively by the Travis build number for pushes to master. Major and minor versions are hard-coded into the Makefile.

Manual pushes to master and PR merges to master will be built by Travis, and will kick off the yarn publish routine. The currently-published version of the package is shown on the repo homepage on GitHub in a badge at the top of the README.


Development

Setup

You must have the sketchtool cli installed to run build commands

Once you have the latest version of Sketch installed, run the following to set up sketchtool:

~/Applications/Sketch.app/Contents/Resources/sketchtool/install.sh

yarn commands

taskdescription
yarn run buildbuilds all icon distributions to dist/; builds docs to doc/build
yarn run publish-docsbuilds and publishes documentation to github pages

Sketch export configuration

The script that exports artboards from sketch files, scripts/exportFromSketch, reads from a configuration file, exportConfig.json. The config file for this script follows this format:

{
	"name": <name of export set for reference>,
	"options": {
		"destination": <destination for exported files>,
		"platform": <name of platform "page" in sketch file>,
		"format": <export file format>
	}
}
3.8.354

7 years ago

3.8.353-beta

7 years ago

3.8.352-beta

7 years ago

3.8.351

7 years ago

3.8.350-beta

7 years ago

3.8.349

7 years ago

3.8.348-beta

7 years ago

3.7.347-beta

7 years ago

3.7.346

7 years ago

3.7.345-beta

7 years ago

3.7.344-beta

7 years ago

3.7.343-beta

7 years ago

3.6.342-beta

7 years ago

3.6.341

7 years ago

3.6.340

7 years ago

3.5.339

7 years ago

3.5.338-beta

7 years ago

3.6.337-beta

8 years ago

3.5.336

8 years ago

3.5.335-beta

8 years ago

3.4.334

8 years ago

3.4.333-beta

8 years ago

3.3.332-beta

8 years ago

3.3.331

8 years ago

3.3.330-beta

8 years ago

3.3.329

8 years ago

3.3.328

8 years ago

3.3.327

8 years ago

3.3.326-beta

8 years ago

3.3.325

8 years ago

3.3.324-beta

8 years ago

2.3.323

8 years ago

2.3.322-beta

8 years ago

2.3.321-beta

8 years ago

2.3.320

8 years ago

2.3.319-beta

8 years ago

2.3.318-beta

8 years ago

2.3.317-beta

8 years ago

2.3.316-beta

8 years ago

2.3.315-beta

8 years ago

2.3.314-beta

8 years ago

2.3.313-beta

8 years ago

3.3.312-beta

8 years ago

2.3.311

8 years ago

2.3.310

8 years ago

2.3.309-beta

8 years ago

2.3.308-beta

8 years ago

2.3.307

8 years ago

2.3.301

8 years ago

2.3.300-beta

8 years ago

2.3.299

8 years ago

2.3.298-beta

8 years ago

1.3.297-beta

8 years ago

1.3.296

8 years ago

1.3.295-beta

8 years ago

1.3.293-beta

8 years ago

1.3.292

8 years ago

1.3.290-beta

8 years ago

1.3.289

8 years ago

1.3.288-beta

8 years ago

1.3.287

8 years ago

1.3.286-beta

8 years ago

1.3.285

8 years ago

1.3.284-beta

8 years ago

1.3.283

8 years ago

1.3.282-beta

8 years ago

1.3.281

8 years ago

1.3.280-beta

8 years ago

1.3.279

8 years ago

1.3.278

8 years ago

1.3.277-beta

8 years ago

1.3.276

8 years ago

1.3.275-beta

8 years ago

1.3.274-beta

8 years ago

1.3.272-beta

8 years ago

1.3.273-beta

8 years ago

1.3.271

8 years ago

1.3.269-beta

8 years ago

1.3.270-beta

8 years ago

1.3.268

8 years ago

1.3.267-beta

8 years ago

1.3.265-beta

8 years ago

1.3.266

8 years ago

1.3.264

8 years ago

1.3.263-beta

8 years ago

1.3.262-beta

8 years ago

1.3.261

8 years ago

1.3.260-beta

8 years ago

1.3.259

8 years ago

1.3.258-beta

8 years ago

1.3.257

8 years ago

1.3.256-beta

8 years ago

1.3.255-beta

8 years ago

1.3.254

8 years ago

1.3.253-beta

8 years ago

1.3.252

8 years ago

1.3.251-beta

8 years ago

1.3.250

8 years ago

1.3.249-beta

8 years ago

1.3.248

8 years ago

1.3.247-beta

8 years ago

1.3.246

8 years ago

1.3.245-beta

8 years ago

1.3.244

8 years ago

1.3.243-beta

8 years ago

1.3.242-beta

8 years ago

1.3.0

8 years ago

1.3.239-beta

8 years ago

1.3.237-beta

8 years ago

1.3.235-beta

8 years ago

1.3.234-beta

8 years ago

1.3.224

8 years ago

1.3.223-beta

8 years ago

1.3.222

8 years ago

1.3.221-beta

8 years ago

1.3.220-beta

8 years ago

1.3.219-beta

8 years ago

1.3.218-beta

8 years ago

1.3.217-beta

8 years ago

1.3.216

8 years ago

1.3.215-beta

8 years ago

1.3.214-beta

8 years ago

1.3.213

8 years ago

1.3.212-beta

8 years ago

1.3.211-beta

8 years ago

1.3.210-beta

8 years ago

1.3.209-beta

8 years ago

1.3.208-beta

8 years ago

1.3.207-beta

8 years ago

1.3.206-beta

8 years ago

1.3.205-beta

8 years ago

1.3.204-beta

8 years ago

1.3.203-beta

8 years ago

1.3.202-beta

8 years ago

1.3.201-beta

8 years ago

1.3.200-beta

8 years ago

1.3.199-beta

8 years ago

1.3.198-beta

8 years ago

1.3.196-beta

8 years ago

1.3.195

8 years ago

1.3.194-beta

8 years ago

1.3.193

8 years ago

1.3.186

8 years ago

1.3.185

8 years ago

1.3.184-beta

8 years ago

1.3.183

8 years ago

1.3.182

8 years ago

1.3.181-beta

8 years ago

1.3.180-beta

8 years ago

1.3.179

8 years ago

1.3.176

8 years ago

0.0.0

8 years ago

1.3.172-beta

8 years ago

1.3.169-beta

8 years ago

1.3.168-beta

8 years ago

1.3.167-beta

8 years ago

1.3.166-beta

8 years ago

1.3.165-beta

8 years ago

1.3.163-beta

8 years ago

1.3.162-beta

8 years ago

1.3.160-beta

8 years ago

1.3.158

8 years ago

1.3.157

8 years ago

1.3.156-beta

8 years ago

1.3.155

8 years ago

1.3.154-beta

8 years ago

1.3.153

8 years ago

1.3.152

8 years ago

1.3.151

8 years ago

1.3.150-beta

8 years ago

1.3.149

8 years ago

1.3.148

8 years ago

1.3.147-beta

8 years ago

1.3.146-beta

8 years ago

1.3.145-beta

8 years ago

1.3.144-beta

8 years ago

1.3.143-beta

8 years ago

1.3.142

8 years ago

1.3.141-beta

8 years ago

1.3.140

8 years ago

1.3.139-beta

8 years ago

1.3.138

8 years ago

1.3.137-beta

8 years ago

1.3.136

8 years ago

1.3.135-beta

8 years ago

1.3.134

8 years ago

1.3.133-beta

8 years ago

1.3.132-beta

8 years ago

1.3.131

9 years ago

1.3.130-beta

9 years ago

1.3.129

9 years ago

1.3.128-beta

9 years ago

1.3.127

9 years ago

1.3.126-beta

9 years ago

1.3.125

9 years ago

1.3.124-beta

9 years ago

1.3.123

9 years ago

1.3.122

9 years ago

1.3.121

9 years ago

1.3.120-beta

9 years ago

1.3.119

9 years ago

1.3.118-beta

9 years ago

1.3.117-beta

9 years ago

1.3.116-beta

9 years ago

1.3.115-beta

9 years ago

1.3.114-beta

9 years ago

1.3.113-beta

9 years ago

1.3.112

9 years ago

1.3.111-beta

9 years ago

1.2.110

9 years ago

1.2.109-beta

9 years ago

1.2.108

9 years ago

1.2.107-beta

9 years ago

1.2.106-beta

9 years ago

1.2.105-beta

9 years ago

1.2.104

9 years ago

1.2.103

9 years ago

1.2.101

9 years ago

1.2.102-beta

9 years ago

1.2.100

9 years ago

1.2.99-beta

9 years ago

1.2.98

9 years ago

1.2.97-beta

9 years ago

1.2.96

9 years ago

1.2.94-beta

9 years ago

1.2.92-beta

9 years ago

1.2.93

9 years ago

1.2.91-beta

9 years ago

1.2.90-beta

9 years ago

1.2.89

9 years ago

1.2.88

9 years ago

1.2.87

9 years ago

1.2.86-beta

9 years ago

1.2.85

9 years ago

1.2.84-beta

9 years ago

1.2.83-beta

9 years ago

1.2.82-beta

9 years ago

1.2.81-beta

9 years ago

1.2.80-beta

9 years ago

1.2.79-beta

9 years ago

1.2.78-beta

9 years ago

1.2.77-beta

9 years ago

1.2.76

9 years ago

1.2.75-beta

9 years ago

1.2.74

9 years ago

1.2.72-beta

9 years ago

1.2.73

9 years ago

1.2.71-beta

9 years ago

1.2.70

9 years ago

1.1.56

9 years ago

1.1.55

9 years ago

1.1.54

9 years ago

1.1.53-beta

9 years ago

1.1.52-beta

9 years ago

1.1.51-beta

9 years ago

1.1.48

9 years ago

1.1.45

9 years ago

1.1.42-beta

9 years ago

1.1.37-beta

9 years ago

1.1.36

9 years ago

1.1.35-beta

9 years ago

1.1.34-beta

9 years ago

1.1.33

9 years ago

1.1.32-beta

9 years ago

1.1.31

9 years ago

1.0.0

9 years ago

0.2.3

9 years ago

2.1.0-beta

9 years ago

2.0.0-beta

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago

0.0.1

9 years ago