Compare commits

..

38 Commits

Author SHA1 Message Date
f58b75faf0 feat: Add more tags to tags.json 2017-12-14 02:01:19 -08:00
fac43e92cf ci: Update .travis.yml 2017-12-14 00:39:45 -08:00
0af964bf29 Merge pull request #247 from feathericons/v4.1.0
v4.1.0
2017-12-14 00:34:03 -08:00
7b9faf5b74 feat: Update upload icon 2017-12-14 00:25:31 -08:00
fd54d891d7 feat: Update log-out icon 2017-12-14 00:25:19 -08:00
031cd1cdcf feat: Update log-in icon 2017-12-14 00:25:05 -08:00
58e555ac21 feat: Add folder-plus icon
Closes #166
2017-12-14 00:24:42 -08:00
4e5462b4ea feat: Add folder-minus icon 2017-12-14 00:23:48 -08:00
821eae0fed feat: Update download icon 2017-12-14 00:20:42 -08:00
c61c9279eb feat: Add arrow-*-circle icons 2017-12-14 00:18:46 -08:00
63485ae1fa feat: Update clock icon 2017-12-13 23:32:30 -08:00
c9d3fe4afd feat: Add code icon
Closes  #24, closes #235
2017-12-13 23:24:29 -08:00
d858fce9ac feat: Add terminal icon 2017-12-13 23:23:04 -08:00
b6e30348ca feat: Add rss icon
Closes #13
2017-12-13 22:35:16 -08:00
ce9dadf760 feat: Add book-open icon
Closes #116
2017-12-13 19:43:14 -08:00
aad71c66d9 feat: Update bar-chart icons 2017-12-13 19:30:10 -08:00
c8181e483e feat: Add hard-drive icon
Closes  #223
2017-12-13 19:29:38 -08:00
aee7cb6c9a feat: Update shopping-cart icon 2017-12-13 18:58:07 -08:00
1170414e65 feat: Add shield-off icon 2017-12-13 18:57:47 -08:00
3401e75259 fix: Fix arrow-down-left and arrow-down-right icons 2017-12-13 18:26:54 -08:00
a4c9815ca9 feat: Update arrow icons 2017-12-13 18:09:50 -08:00
9df31d48c6 feat: Update shield icon 2017-12-13 15:56:55 -08:00
8c557f7051 feat: Update search icon 2017-12-13 15:56:39 -08:00
bb9e45b336 feat: Update more-vertical icon 2017-12-13 15:56:25 -08:00
c6a7239a2c feat: Update more-horizontal icon 2017-12-13 15:56:01 -08:00
c777ac724d feat: Update inbox icon 2017-12-13 15:55:33 -08:00
38c6a37da6 feat: Update at-sign icon 2017-12-13 15:55:12 -08:00
6dc6e83d39 docs: Update capitalization 2017-12-13 00:25:40 -08:00
c631a31ebd docs: Remove target="_blank" 2017-12-13 00:24:06 -08:00
7047790dc7 docs: Add StdLib logo 2017-12-13 00:23:08 -08:00
c1f40d07c8 docs: Update README.md 2017-12-12 22:49:58 -08:00
ad8fabb569 docs: Update README.md 2017-12-12 20:47:07 -08:00
ba46d098b3 Update README.md 2017-12-12 20:42:57 -08:00
cac14df9a2 docs: Update TravisCI link 2017-11-19 18:02:49 -08:00
14c796917d build: Update linting config 2017-11-19 18:01:04 -08:00
343388c892 docs: Update TravisCI badge 2017-11-19 16:34:18 -08:00
c9552b6916 fix: Remove unecessary whitespace from SVG contents
```js
/* BEFORE */
{ circle: "\n  <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n" }

/* AFTER */
{ circle: "<circle cx=\"12\" cy=\"12\" r=\"10\"></circle>" }
```
2017-11-19 16:29:52 -08:00
b814a2b94b docs: Update README.md 2017-11-18 20:54:45 -08:00
44 changed files with 1251 additions and 150 deletions

View File

@ -1,11 +1,17 @@
{ {
"extends": "airbnb-base", "extends": ["airbnb-base", "prettier"],
"plugins": ["import"], "plugins": ["import", "prettier"],
"rules": { "rules": {
"arrow-parens": ["error", "as-needed"],
"no-console": ["error", { "allow": ["warn", "error"] }], "no-console": ["error", { "allow": ["warn", "error"] }],
"no-param-reassign": "off", "no-param-reassign": "off",
"no-shadow": "off", "no-shadow": "off",
"no-use-before-define": "off" "no-use-before-define": "off",
"prettier/prettier": [
"error",
{
"singleQuote": true,
"trailingComma": "all"
}
]
} }
} }

3
.lintstagedrc Normal file
View File

@ -0,0 +1,3 @@
{
"*.js": "eslint"
}

View File

@ -4,7 +4,7 @@ cache:
- node_modules - node_modules
notifications: notifications:
email: false email: false
node_js: 6 node_js: 8
before_script: before_script:
- npm prune - npm prune
script: script:

View File

@ -1,21 +1,26 @@
# Feather # Feather
[![Travis branch](https://img.shields.io/travis/colebemis/feather/master.svg?style=flat-square)](https://travis-ci.org/colebemis/feather) [![Travis branch](https://img.shields.io/travis/feathericons/feather/master.svg?style=flat-square)](https://travis-ci.org/feathericons/feather)
[![npm](https://img.shields.io/npm/v/feather-icons.svg?style=flat-square)](https://www.npmjs.com/package/feather-icons) [![npm downloads](https://img.shields.io/npm/dm/feather-icons.svg?style=flat-square)](https://npm-stat.com/charts.html?package=feather-icons&from=2017-06-01)
[![npm](https://img.shields.io/npm/dm/feather-icons.svg?style=flat-square)](https://npm-stat.com/charts.html?package=feather-icons&from=2017-06-01) [![npm version](https://img.shields.io/npm/v/feather-icons.svg?style=flat-square)](https://www.npmjs.com/package/feather-icons)
[![CDNJS version](https://img.shields.io/cdnjs/v/feather-icons.svg?style=flat-square)](https://cdnjs.com/libraries/feather-icons) [![CDNJS version](https://img.shields.io/cdnjs/v/feather-icons.svg?style=flat-square)](https://cdnjs.com/libraries/feather-icons)
[![Code Climate](https://img.shields.io/codeclimate/github/colebemis/feather.svg?style=flat-square)](https://codeclimate.com/github/colebemis/feather)
## What is Feather? ## What is Feather?
Feather is a collection of simply beautiful open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability. Feather is a collection of simply beautiful open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability.
**[feathericons.com](https://feathericons.com)** https://feathericons.com
``` ```sh
npm install feather-icons npm install feather-icons
``` ```
**Sponsored by**
<a href="https://stdlib.com">
<img src="https://stdlib.com/static/images/stdlib-logo-wordmark-128.png" width="128" />
</a>
## Table of Contents ## Table of Contents
* [Quick Start](#quick-start) * [Quick Start](#quick-start)
@ -26,7 +31,7 @@ npm install feather-icons
* [`feather.icons`](#feathericons) * [`feather.icons`](#feathericons)
* [`feather.icons[name].toSvg()`](#feathericonsnametosvgattrs) * [`feather.icons[name].toSvg()`](#feathericonsnametosvgattrs)
* [`feather.replace()`](#featherreplaceattrs) * [`feather.replace()`](#featherreplaceattrs)
* [[DEPRECATED] `feather.toSvg()`](#deprecated-feathertosvgname-attrs) * [[Deprecated] `feather.toSvg()`](#deprecated-feathertosvgname-attrs)
* [Roadmap](#roadmap) * [Roadmap](#roadmap)
* [Contributing](#contributing) * [Contributing](#contributing)
* [Related Projects](#related-projects) * [Related Projects](#related-projects)
@ -165,7 +170,7 @@ See the [API Reference](#api-reference) for more information about the available
### `feather.icons` ### `feather.icons`
An object with information about every icon. An object with data about every icon.
#### Usage #### Usage
@ -173,7 +178,7 @@ An object with information about every icon.
feather.icons.x feather.icons.x
// { // {
// name: 'x', // name: 'x',
// contents: '<line ... /><line ... />`, // contents: '<line ... /><line ... />',
// tags: ['cancel', 'close', 'delete', 'remove'], // tags: ['cancel', 'close', 'delete', 'remove'],
// attrs: { // attrs: {
// class: 'feather feather-x', // class: 'feather feather-x',
@ -190,11 +195,13 @@ feather.icons.x
// } // }
feather.icons.x.toString() feather.icons.x.toString()
// '<line ... /><line ... />` // '<line ... /><line ... />'
``` ```
[View Source](https://github.com/colebemis/feather/blob/master/src/icons.js) [View Source](https://github.com/colebemis/feather/blob/master/src/icons.js)
---
### `feather.icons[name].toSvg([attrs])` ### `feather.icons[name].toSvg([attrs])`
Returns an SVG string. Returns an SVG string.
@ -218,7 +225,9 @@ feather.icons.circle.toSvg({ class: 'foo bar' })
// '<svg class="feather feather-circle foo bar" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle></svg>' // '<svg class="feather feather-circle foo bar" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle></svg>'
``` ```
[View Source](https://github.com/colebemis/feather/blob/master/src/icons.js) [View Source](https://github.com/colebemis/feather/blob/master/src/icon.js)
---
### `feather.replace([attrs])` ### `feather.replace([attrs])`
@ -276,7 +285,9 @@ All attributes on the placeholder element (i.e. `<i>`) will be copied to the `<s
[View Source](https://github.com/colebemis/feather/blob/master/src/replace.js) [View Source](https://github.com/colebemis/feather/blob/master/src/replace.js)
### [DEPRECATED] `feather.toSvg(name, [attrs])` ---
### [Deprecated] `feather.toSvg(name, [attrs])`
> **Note:** `feather.toSvg()` is deprecated. Please use `feather.icons[name].toSvg()` instead. > **Note:** `feather.toSvg()` is deprecated. Please use `feather.icons[name].toSvg()` instead.
@ -308,7 +319,6 @@ feather.toSvg('circle', { class: 'foo bar' })
- [ ] Write icon design guidelines - [ ] Write icon design guidelines
- [ ] Track code coverage - [ ] Track code coverage
- [ ] Use Prettier to enforce consistent code style
- [ ] Improve SVG accessibility - [ ] Improve SVG accessibility
- [ ] Handle usage of custom icons - [ ] Handle usage of custom icons
- [ ] Add usage examples - [ ] Add usage examples
@ -331,5 +341,3 @@ Caught a mistake or want to contribute to the documentation? [Edit this page on
## License ## License
Feather is licensed under the [MIT License](https://github.com/colebemis/feather/blob/master/LICENSE). Feather is licensed under the [MIT License](https://github.com/colebemis/feather/blob/master/LICENSE).
[👋](mailto:cole@colebemis.com)

View File

@ -3,9 +3,9 @@ import buildIconsObject from '../build-icons-object';
const SVG_FILES = { const SVG_FILES = {
'icon1.svg': 'icon1.svg':
'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="23" y1="1" x2="1" y2="23" /><line x1="1" y1="1" x2="23" y2="23" /></svg>', '<svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n>\n <line x1="23" y1="1" x2="1" y2="23" />\n <line x1="1" y1="1" x2="23" y2="23" />\n</svg>',
'icon2.svg': 'icon2.svg':
'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="11" /></svg>', '<svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n>\n <circle cx="12" cy="12" r="11" />\n</svg>',
}; };
function getSvg(svgFile) { function getSvg(svgFile) {

View File

@ -1,6 +1,7 @@
/* eslint-disable import/no-extraneous-dependencies */ /* eslint-disable import/no-extraneous-dependencies */
import path from 'path'; import path from 'path';
import cheerio from 'cheerio'; import cheerio from 'cheerio';
import { minify } from 'html-minifier';
/** /**
* Build an object in the format: `{ <name>: <contents> }`. * Build an object in the format: `{ <name>: <contents> }`.
@ -28,7 +29,7 @@ function buildIconsObject(svgFiles, getSvg) {
*/ */
function getSvgContents(svg) { function getSvgContents(svg) {
const $ = cheerio.load(svg); const $ = cheerio.load(svg);
return $('svg').html(); return minify($('svg').html(), { collapseWhitespace: true });
} }
export default buildIconsObject; export default buildIconsObject;

6
commitlint.config.js Normal file
View File

@ -0,0 +1,6 @@
module.exports = {
extends: ['@commitlint/config-angular'],
rules: {
'subject-case': 'sentence-case',
},
};

View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<polyline points="8 12 12 16 16 12" />
<line x1="12" y1="8" x2="12" y2="16" />
</svg>

After

Width:  |  Height:  |  Size: 327 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="18" y1="6" x2="6" y2="18" /> <line x1="17" y1="7" x2="7" y2="17" />
<polyline points="15 18 6 18 6 9" /> <polyline points="17 17 7 17 7 7" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 288 B

After

Width:  |  Height:  |  Size: 288 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="6" y1="6" x2="18" y2="18" /> <line x1="7" y1="7" x2="17" y2="17" />
<polyline points="9 18 18 18 18 9" /> <polyline points="17 7 17 17 7 17" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 289 B

After

Width:  |  Height:  |  Size: 289 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="12" y1="4" x2="12" y2="20" /> <line x1="12" y1="5" x2="12" y2="19" />
<polyline points="18 14 12 20 6 14" /> <polyline points="19 12 12 19 5 12" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 291 B

After

Width:  |  Height:  |  Size: 291 B

View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 8 8 12 12 16" />
<line x1="16" y1="12" x2="8" y2="12" />
</svg>

After

Width:  |  Height:  |  Size: 326 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="20" y1="12" x2="4" y2="12" /> <line x1="19" y1="12" x2="5" y2="12" />
<polyline points="10 18 4 12 10 6" /> <polyline points="12 19 5 12 12 5" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 290 B

After

Width:  |  Height:  |  Size: 290 B

View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 16 16 12 12 8" />
<line x1="8" y1="12" x2="16" y2="12" />
</svg>

After

Width:  |  Height:  |  Size: 327 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="4" y1="12" x2="20" y2="12" /> <line x1="5" y1="12" x2="19" y2="12" />
<polyline points="14 6 20 12 14 18" /> <polyline points="12 5 19 12 12 19" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 291 B

After

Width:  |  Height:  |  Size: 291 B

15
icons/arrow-up-circle.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<polyline points="16 12 12 8 8 12" />
<line x1="12" y1="16" x2="12" y2="8" />
</svg>

After

Width:  |  Height:  |  Size: 326 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="18" y1="18" x2="6" y2="6" /> <line x1="17" y1="17" x2="7" y2="7" />
<polyline points="15 6 6 6 6 15" /> <polyline points="7 17 7 7 17 7" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 287 B

After

Width:  |  Height:  |  Size: 287 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="6" y1="18" x2="18" y2="6" /> <line x1="7" y1="17" x2="17" y2="7" />
<polyline points="9 6 18 6 18 15" /> <polyline points="7 7 17 7 17 17" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 288 B

After

Width:  |  Height:  |  Size: 288 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<line x1="12" y1="20" x2="12" y2="4" /> <line x1="12" y1="19" x2="12" y2="5" />
<polyline points="6 10 12 4 18 10" /> <polyline points="5 12 12 5 19 12" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 290 B

After

Width:  |  Height:  |  Size: 290 B

View File

@ -10,5 +10,5 @@
stroke-linejoin="round" stroke-linejoin="round"
> >
<circle cx="12" cy="12" r="4" /> <circle cx="12" cy="12" r="4" />
<path d="M16 12v1a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94" /> <path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 305 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect x="10" y="3" width="4" height="18" /> <line x1="18" y1="20" x2="18" y2="10" />
<rect x="18" y="8" width="4" height="13" /> <line x1="12" y1="20" x2="12" y2="4" />
<rect x="2" y="13" width="4" height="8" /> <line x1="6" y1="20" x2="6" y2="14" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 334 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect x="18" y="3" width="4" height="18" /> <line x1="12" y1="20" x2="12" y2="10" />
<rect x="10" y="8" width="4" height="13" /> <line x1="18" y1="20" x2="18" y2="4" />
<rect x="2" y="13" width="4" height="8" /> <line x1="6" y1="20" x2="6" y2="16" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 334 B

14
icons/book-open.svg Normal file
View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" />
<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />
</svg>

After

Width:  |  Height:  |  Size: 322 B

View File

@ -10,5 +10,5 @@
stroke-linejoin="round" stroke-linejoin="round"
> >
<circle cx="12" cy="12" r="10" /> <circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 15 15" /> <polyline points="12 6 12 12 16 14" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 285 B

After

Width:  |  Height:  |  Size: 285 B

14
icons/code.svg Normal file
View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="16 18 22 12 16 6" />
<polyline points="8 6 2 12 8 18" />
</svg>

After

Width:  |  Height:  |  Size: 287 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M3 17v3a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-3" /> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="8 12 12 16 16 12" /> <polyline points="7 10 12 15 17 10" />
<line x1="12" y1="2" x2="12" y2="16" /> <line x1="12" y1="15" x2="12" y2="3" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 348 B

14
icons/folder-minus.svg Normal file
View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" />
<line x1="9" y1="14" x2="15" y2="14" />
</svg>

After

Width:  |  Height:  |  Size: 341 B

15
icons/folder-plus.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" />
<line x1="12" y1="11" x2="12" y2="17" />
<line x1="9" y1="14" x2="15" y2="14" />
</svg>

After

Width:  |  Height:  |  Size: 384 B

16
icons/hard-drive.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="22" y1="12" x2="2" y2="12" />
<path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" />
<line x1="6" y1="16" x2="6" y2="16" />
<line x1="10" y1="16" x2="10" y2="16" />
</svg>

After

Width:  |  Height:  |  Size: 456 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<polyline points="22 13 16 13 14 16 10 16 8 13 2 13" /> <polyline points="22 12 16 12 14 15 10 15 8 12 2 12" />
<path d="M5.47 5.19L2 13v5a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5l-3.47-7.81A2 2 0 0 0 16.7 4H7.3a2 2 0 0 0-1.83 1.19z" /> <path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 386 B

After

Width:  |  Height:  |  Size: 388 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M14 22h5a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-5" /> <path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4" />
<polyline points="11 16 15 12 11 8" /> <polyline points="10 17 15 12 10 7" />
<line x1="15" y1="12" x2="3" y2="12" /> <line x1="15" y1="12" x2="3" y2="12" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 348 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M10 22H5a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h5" /> <path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" />
<polyline points="17 16 21 12 17 8" /> <polyline points="16 17 21 12 16 7" />
<line x1="21" y1="12" x2="9" y2="12" /> <line x1="21" y1="12" x2="9" y2="12" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 347 B

After

Width:  |  Height:  |  Size: 346 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<circle cx="12" cy="12" r="2" /> <circle cx="12" cy="12" r="1" />
<circle cx="20" cy="12" r="2" /> <circle cx="19" cy="12" r="1" />
<circle cx="4" cy="12" r="2" /> <circle cx="5" cy="12" r="1" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 312 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<circle cx="12" cy="12" r="2" /> <circle cx="12" cy="12" r="1" />
<circle cx="12" cy="4" r="2" /> <circle cx="12" cy="5" r="1" />
<circle cx="12" cy="20" r="2" /> <circle cx="12" cy="19" r="1" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 312 B

15
icons/rss.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 11a9 9 0 0 1 9 9" />
<path d="M4 4a16 16 0 0 1 16 16" />
<circle cx="5" cy="19" r="1" />
</svg>

After

Width:  |  Height:  |  Size: 315 B

View File

@ -9,6 +9,6 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<circle cx="10.5" cy="10.5" r="7.5" /> <circle cx="11" cy="11" r="8" />
<line x1="21" y1="21" x2="15.8" y2="15.8" /> <line x1="21" y1="21" x2="16.65" y2="16.65" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 296 B

After

Width:  |  Height:  |  Size: 292 B

15
icons/shield-off.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18" />
<path d="M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38" />
<line x1="1" y1="1" x2="23" y2="23" />
</svg>

After

Width:  |  Height:  |  Size: 385 B

View File

@ -9,5 +9,5 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M12 22s8-4 8-10V4l-8-2-8 2v8c0 6 8 10 8 10z" /> <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 267 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<circle cx="8" cy="21" r="2" /> <circle cx="9" cy="21" r="1" />
<circle cx="20" cy="21" r="2" /> <circle cx="20" cy="21" r="1" />
<path d="M5.67 6H23l-1.68 8.39a2 2 0 0 1-2 1.61H8.75a2 2 0 0 1-2-1.74L5.23 2.74A2 2 0 0 0 3.25 1H1" /> <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 356 B

14
icons/terminal.svg Normal file
View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="4 17 10 11 4 5" />
<line x1="12" y1="19" x2="20" y2="19" />
</svg>

After

Width:  |  Height:  |  Size: 290 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M3 17v3a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-3" /> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="16 6 12 2 8 6" /> <polyline points="17 8 12 3 7 8" />
<line x1="12" y1="2" x2="12" y2="16" /> <line x1="12" y1="3" x2="12" y2="15" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 345 B

946
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,14 +11,22 @@
"build": "./bin/build.sh", "build": "./bin/build.sh",
"lint": "eslint .", "lint": "eslint .",
"test": "jest", "test": "jest",
"commitmsg": "validate-commit-msg",
"cm": "git-cz", "cm": "git-cz",
"precommit": "lint-staged",
"commitmsg": "commitlint --edit",
"semantic-release": "semantic-release pre && npm publish && semantic-release post" "semantic-release": "semantic-release pre && npm publish && semantic-release post"
}, },
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
},
"dependencies": { "dependencies": {
"classnames": "^2.2.5" "classnames": "^2.2.5"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^5.0.0",
"@commitlint/config-angular": "^5.0.0",
"babel-cli": "^6.24.1", "babel-cli": "^6.24.1",
"babel-loader": "^7.1.1", "babel-loader": "^7.1.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-plugin-transform-object-rest-spread": "^6.26.0",
@ -30,24 +38,20 @@
"cz-conventional-changelog": "^2.1.0", "cz-conventional-changelog": "^2.1.0",
"eslint": "^4.0.0", "eslint": "^4.0.0",
"eslint-config-airbnb-base": "^11.2.0", "eslint-config-airbnb-base": "^11.2.0",
"eslint-config-prettier": "^2.7.0",
"eslint-plugin-import": "^2.5.0", "eslint-plugin-import": "^2.5.0",
"eslint-plugin-prettier": "^2.3.1",
"html-minifier": "^3.5.6",
"husky": "^0.13.4", "husky": "^0.13.4",
"jest": "^21.2.1", "jest": "^21.2.1",
"lint-staged": "^5.0.0",
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"parse5": "^3.0.2",
"prettier": "^1.8.2", "prettier": "^1.8.2",
"rimraf": "^2.6.2", "rimraf": "^2.6.2",
"rsvp": "^3.6.0",
"semantic-release": "^6.3.6", "semantic-release": "^6.3.6",
"svgo": "^0.7.2", "svgo": "^0.7.2",
"validate-commit-msg": "^2.12.1",
"webpack": "^3.0.0" "webpack": "^3.0.0"
}, },
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/colebemis/feather.git" "url": "https://github.com/colebemis/feather.git"

View File

@ -1,7 +1,93 @@
{ {
"airplay": ["stream"], "activity": ["pulse", "health"],
"airplay": ["stream", "cast"],
"alert-circle": ["warning"],
"alert-octagon": ["warning"],
"alert-triangle": ["warning"],
"at-sign": ["mention"],
"aperture": ["camera", "photo"],
"bell": ["alarm", "notification"], "bell": ["alarm", "notification"],
"bell-off": ["alarm", "notification"],
"compass": ["navigation", "safari"],
"disc": ["album"],
"edit": ["pencil"],
"edit-2": ["pencil"],
"edit-3": ["pencil"],
"eye": ["view", "watch"],
"eye-off": ["view", "watch"],
"external-link": ["outbound"],
"fast-forward": ["music"],
"film": ["movie", "video"],
"folder": ["directory"],
"folder-minus": ["directory"],
"folder-plus": ["directory"],
"global": ["world", "browser", "language", "translate"],
"hard-drive": ["computer", "server"],
"hash": ["hashtag", "number", "pound"],
"headphones": ["music"],
"heart": ["like", "love"],
"help-circle": ["question mark"],
"home": ["house"],
"image": ["picture"],
"life-bouy": ["help", "life ring"],
"log-in": ["sign in", "arrow"],
"log-out": ["sign out", "arrow"],
"mail": ["email"],
"map-pin": ["location", "navigation", "travel"],
"map": ["location", "navigation", "travel"],
"maximize": ["fullscreen"],
"maximize-2": ["fullscreen", "arrows"],
"menu": ["bars", "navigation", "hamburger"],
"message-circle": ["comment"],
"message-square": ["comment"],
"minimize": ["exit fullscreen"],
"minimize-2": ["exit fullscreen", "arrows"],
"monitor": ["tv"],
"moon": ["dark", "night"],
"more-horizontal": ["ellipsis"],
"more-vertical": ["ellipsis"],
"move": ["arrows"],
"navigation": ["location", "travel"],
"navigation-2": ["location", "travel"],
"octagon": ["stop"],
"package": ["box"],
"paperclip": ["attachment"],
"pause": ["music", "stop"],
"pause-circle": ["music", "stop"],
"play": ["music", "start"],
"play-circle": ["music", "start"],
"plus": ["add", "new"],
"plus-circle": ["add", "new"],
"plus-square": ["add", "new"],
"radio": ["signal"],
"rewind": ["music"],
"rss": ["feed"],
"save": ["floppy disk"],
"settings": ["cog", "edit", "gear", "preferences"], "settings": ["cog", "edit", "gear", "preferences"],
"star": ["bookmark"], "shield": ["security"],
"shield-off": ["security"],
"shuffle": ["music"],
"skip-back": ["music"],
"skip-forward": ["music"],
"slash": ["ban", "no"],
"sliders": ["settings", "controls"],
"star": ["bookmark", "favorite", "like"],
"sun": ["brightness", "weather", "light"],
"sunrise": ["weather"],
"sunset": ["weather"],
"tag": ["label"],
"target": ["bullseye"],
"terminal": ["code", "command line"],
"thumbs-down": ["dislike"],
"thumbs-up": ["like"],
"trash": ["garbage", "delete", "remove"],
"trash-2": ["garbage", "delete", "remove"],
"voicemail": ["phone"],
"volume": ["music", "sound", "mute"],
"volume-1": ["music", "sound"],
"volume-2": ["music", "sound"],
"volume-x": ["music", "sound", "mute"],
"watch": ["clock", "time"],
"wind": ["weather"],
"x": ["cancel", "close", "delete", "remove"] "x": ["cancel", "close", "delete", "remove"]
} }