{"_id":"@astronomersiva/ember-svg-jar","_rev":"1-c6a73db9b1e79a61bf86b96bbba36aee","name":"@astronomersiva/ember-svg-jar","dist-tags":{"latest":"2.5.1"},"versions":{"2.5.0":{"name":"@astronomersiva/ember-svg-jar","version":"2.5.0","description":"Best way to use SVG images in Ember applications","keywords":["ember-addon"],"license":"MIT","author":{"name":"Ivan Volti","email":"voltidev@gmail.com"},"directories":{"doc":"doc","test":"tests"},"homepage":"https://svgjar.web.app","repository":{"type":"git","url":"git+https://github.com/voltidev/ember-svg-jar.git"},"bugs":{"url":"https://github.com/voltidev/ember-svg-jar/issues"},"scripts":{"s":"ember s","lerna:lint-staged":"lint-staged","lint":"npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:js:fix":"eslint . --fix","test":"npm-run-all lint test:*","test:ember":"ember test","test:node":"mocha node-tests/**/*-test.js","test:ember-compatibility":"ember try:each"},"dependencies":{"broccoli-caching-writer":"^3.0.3","broccoli-concat":"^4.2.5","broccoli-funnel":"^3.0.8","broccoli-merge-trees":"^4.2.0","broccoli-persistent-filter":"^3.1.2","broccoli-plugin":"^4.0.7","broccoli-string-replace":"^0.1.2","broccoli-svg-optimizer":"^2.1.0","cheerio":"^1.0.0-rc.12","console-ui":"^3.1.1","ember-cli-babel":"^7.26.6","ember-cli-htmlbars":"^5.7.1","lodash":"^4.17.15","safe-stable-stringify":"^2.2.0"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.6.0","@embroider/test-setup":"^1.2.0","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","@types/ember__component":"^4.0.8","all-contributors-cli":"^6.9.1","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","broccoli-fixture":"^1.0.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","ember-auto-import":"^2.2.0","ember-cli":"~3.28.0","ember-cli-dependency-checker":"^3.2.0","ember-cli-fastboot":"^3.3.2","ember-cli-fastboot-testing":"^0.6.0","ember-cli-inject-live-reload":"^2.1.0","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.2","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^1.0.0","ember-qunit":"^5.1.4","ember-resolver":"^8.0.2","ember-source":"~3.20.5","ember-source-channel-url":"^3.0.0","ember-template-lint":"^4.0.0","ember-try":"^1.4.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-ember":"^10.5.8","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","eslint-plugin-qunit":"^7.2.0","lint-staged":">=10","loader.js":"^4.7.0","mocha":"^9.2.0","npm-run-all":"^4.1.5","prettier":"^2.5.1","qunit":"^2.17.2","qunit-dom":"^2.0.0","webpack":"5"},"engines":{"node":"12.* || 14.* || >= 16"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config","versionCompatibility":{"ember":">=1.13.13"}},"lint-staged":{"**/*.{json,html,yml,css,scss,md}":["prettier --write"],"**/*.{js,jsx,ts,tsx}":["eslint --cache --fix"]},"typesVersions":{"*":{"*":["types/*"]}},"volta":{"node":"14.20.1"},"_id":"@astronomersiva/ember-svg-jar@2.5.0","_nodeVersion":"14.20.1","_npmVersion":"6.14.17","dist":{"integrity":"sha512-MGfKcdtHtOWKKOyvRgKg0xTOOJ22yP2LRI4fr7s0/xdk06WHl5dyTI/OdHB2w+/PUtXnmtrrg/ToaVUQR1vikw==","shasum":"51d19068298e70ae63cd67f51d3dcf78f06f548d","tarball":"https://registry.npmjs.org/@astronomersiva/ember-svg-jar/-/ember-svg-jar-2.5.0.tgz","fileCount":59,"unpackedSize":2611031,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg1xvekWNYgUaC/fwpAI4gIYQdMFpT3gyqGI1qs1SAIgIhALHALu2u1T32tpCmuPC9DAIku9m69r+e485U6MaNoY0J"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXlNFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5zhAAoj+ehQtJVSJ/6Vx0TlnfgUdEmjn64l3Id9TB0Gv87SONOuZ7\r\n0e9zSmLHoBSU4fxt3ZXtdlIoBm/+4ZDLeUjW26ySJqn6Hw3hyKCLxGG68hU/\r\nXxMBxEw+DsCxAf2Y1HrQ0sZvakyMXpbjyzUlhwEV9FbWhL1O0RGZ2uGCFX1E\r\nNU1EPIWj1LEN89BBdkaPvyJX4ThB8Wo46nBWRVAw/guCMJC7X/LtWOTx5dLq\r\nbWm35OCcerYor081LJIf0yTNvjYs7DM3GLryifFLIniebhepgESK751wCltU\r\nmh1lMuXSnOxJ2NKleegY0K3Du2biMxgOZxthsDwkCCUYmRQ1thXEyfoGdaO4\r\nvHq1R0O4WhgXwNhV4dONLLqaOEjgQysznRee0rj/Smb6czfI9uaqSQsEVq8n\r\ncUe1zj1MgpLMun7ker+mIv8CoXU95Jz/iOwCVfcynvW3H0lPZj8zPXiOY3QN\r\nGJws0OM7U7pnomvEeddQBGpreVIIkp5tzwKiL7aRSGLe7LuBl9HfqspsqLe1\r\nJeIm8DF1xdR0xWEqGsdCbKGf9Dt5Kwf4W1A4ijIKshFG5tySmynkou5gvm6W\r\ngtgXs5/o5W5aBMVUpryRhF9bR+6q2lvgqRPZBGdXGKBoQOaguiS6zuXNYLMr\r\nILeznFnAgaJ4Sci5bVWjG7Lf/5wGQP2POiw=\r\n=iGMx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"astronomersiva","email":"sivasubramanyama@gmail.com"},"maintainers":[{"name":"astronomersiva","email":"sivasubramanyama@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-svg-jar_2.5.0_1667126085356_0.8800736705149153"},"_hasShrinkwrap":false},"2.5.1":{"name":"@astronomersiva/ember-svg-jar","version":"2.5.1","description":"Best way to use SVG images in Ember applications","keywords":["ember-addon"],"license":"MIT","author":{"name":"Ivan Volti","email":"voltidev@gmail.com"},"directories":{"doc":"doc","test":"tests"},"homepage":"https://svgjar.web.app","repository":{"type":"git","url":"git+https://github.com/voltidev/ember-svg-jar.git"},"bugs":{"url":"https://github.com/voltidev/ember-svg-jar/issues"},"scripts":{"s":"ember s","lerna:lint-staged":"lint-staged","lint":"npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:js:fix":"eslint . --fix","test":"npm-run-all lint test:*","test:ember":"ember test","test:node":"mocha node-tests/**/*-test.js","test:ember-compatibility":"ember try:each"},"dependencies":{"broccoli-caching-writer":"^3.0.3","broccoli-concat":"^4.2.5","broccoli-funnel":"^3.0.8","broccoli-merge-trees":"^4.2.0","broccoli-persistent-filter":"^3.1.2","broccoli-plugin":"^4.0.7","broccoli-string-replace":"^0.1.2","broccoli-svg-optimizer":"^2.1.0","cheerio":"^1.0.0-rc.12","console-ui":"^3.1.1","ember-cli-babel":"^7.26.6","ember-cli-htmlbars":"^5.7.1","lodash":"^4.17.15","safe-stable-stringify":"^2.2.0"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.6.0","@embroider/test-setup":"^1.2.0","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","@types/ember__component":"^4.0.8","all-contributors-cli":"^6.9.1","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","broccoli-fixture":"^1.0.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","ember-auto-import":"^2.2.0","ember-cli":"~3.28.0","ember-cli-dependency-checker":"^3.2.0","ember-cli-fastboot":"^3.3.2","ember-cli-fastboot-testing":"^0.6.0","ember-cli-inject-live-reload":"^2.1.0","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.2","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^1.0.0","ember-qunit":"^5.1.4","ember-resolver":"^8.0.2","ember-source":"~3.20.5","ember-source-channel-url":"^3.0.0","ember-template-lint":"^4.0.0","ember-try":"^1.4.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-ember":"^10.5.8","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","eslint-plugin-qunit":"^7.2.0","lint-staged":">=10","loader.js":"^4.7.0","mocha":"^9.2.0","npm-run-all":"^4.1.5","prettier":"^2.5.1","qunit":"^2.17.2","qunit-dom":"^2.0.0","webpack":"5"},"engines":{"node":"12.* || 14.* || >= 16"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config","versionCompatibility":{"ember":">=1.13.13"}},"lint-staged":{"**/*.{json,html,yml,css,scss,md}":["prettier --write"],"**/*.{js,jsx,ts,tsx}":["eslint --cache --fix"]},"typesVersions":{"*":{"*":["types/*"]}},"volta":{"node":"14.20.1"},"_id":"@astronomersiva/ember-svg-jar@2.5.1","_nodeVersion":"14.20.1","_npmVersion":"6.14.17","dist":{"integrity":"sha512-/Nxhq68illskBP1NKcOyOfkjxJv7NqaXKkx8egS4PlHHbFjd9yUcxyqFu98OBazGtnNIE/Mfr/zHy6hPXJ3pxQ==","shasum":"8759bc19ecda44bf6cccac9f50bebb89ecd2a41c","tarball":"https://registry.npmjs.org/@astronomersiva/ember-svg-jar/-/ember-svg-jar-2.5.1.tgz","fileCount":59,"unpackedSize":2610655,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkgW8e1dtmicxu69f/TJlBcurroEhbxXyvVcvC8t3ucAIgY0WCpLo+Q6an/PblrpLOnvzZlsNv4wNFLWf8bzTiASs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY4IpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLag/8C7/uLonboBqDiDUNLgZe6QpDrcEI+g7CG8WG7A6WPTJxr7m8\r\nimpDh80rDxebu+qSnUSFwKqqA7i/mfhdDK6D5kiEloKSXYrbBwFANa9ujcGL\r\nnIuhkZmWvT1ED8cjeCWuXKh6T/iHyjsf9ZkETGTX4m+623qVpN09UM7RPpZ/\r\nq6R8mwSV/tlWQnpcvuOfvEBB/0E6+62wCL5FDR7AOSUSHY8QKjgrbQxsj2T7\r\no7ihSEsd3ZGwKUgTCqx4x68GgruFCJ/1h3tjYm0BxnxpnPJ5MIxqzkgcTeTJ\r\nrbUmGXF/DAQuQuhURYYQUwJ7ORWtL+EugIMjHzIRzz/VHU6SjHGUFTvVvYEq\r\nxJfpqiwFLe05AnbEzk+pFfMLHChgkHbzoV7gwEWbLqptiaEnKSfevAL0X+c8\r\nhk/d7EVKaT05rFFfNr230lvoVD9JH2TNSILgvFm4RV0cYy8lwG98+x4kGjrv\r\nHMgDvI8O2ifceSqBQ5WUZWM9UL+2MnMbRGGP4zachNVQt/bpfWuhT/3Eix3q\r\nD9U1SpKd1jvjyEeOUcoYHVTWJmwWalcQbGphTHj4GW/ijR5BjWx5jTFc53Jd\r\nx4jVyOYKF4vnZErjOsRWdNay2BrhnGBIiXUmPSWpfyRFpSOE8m7VOmMFfHh/\r\nKJUac51WyzErq2c44ZgHNSIEldwqM9YUdEs=\r\n=fKtQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"astronomersiva","email":"sivasubramanyama@gmail.com"},"maintainers":[{"name":"astronomersiva","email":"sivasubramanyama@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-svg-jar_2.5.1_1667465769259_0.29024685617815926"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-30T10:34:45.278Z","2.5.0":"2022-10-30T10:34:45.640Z","modified":"2022-11-03T08:56:09.617Z","2.5.1":"2022-11-03T08:56:09.532Z"},"maintainers":[{"name":"astronomersiva","email":"sivasubramanyama@gmail.com"}],"description":"Best way to use SVG images in Ember applications","homepage":"https://svgjar.web.app","keywords":["ember-addon"],"repository":{"type":"git","url":"git+https://github.com/voltidev/ember-svg-jar.git"},"author":{"name":"Ivan Volti","email":"voltidev@gmail.com"},"bugs":{"url":"https://github.com/voltidev/ember-svg-jar/issues"},"license":"MIT","readme":"<p align=\"center\">\n  <a href=\"https://svgjar.web.app\" target=\"_blank\">\n    <img src=\"https://svgjar.web.app/images/logo-96eaca43925f5d648acc8193b1b9ddd7.svg\" alt=\"Logo\">\n  </a>\n</p>\n\n<h3 align=\"center\">\n  Best way to use SVG images in Ember apps.\n</h3>\n\n<p align=\"center\">\n  <a href=\"https://svgjar-demo.web.app\" target=\"_blank\">🎮 View Live Demo</a>\n  ·\n  <a href=\"https://github.com/voltidev/ember-svg-jar/issues/new?template=---bug-report.md\">🐞 Report Bug</a>\n  ·\n  <a href=\"https://github.com/voltidev/ember-svg-jar/issues/new?template=---feature-request.md\">🍩 Request Feature</a>\n  ·\n  <a href=\"https://github.com/voltidev/ember-svg-jar/issues/new?template=---question.md\">🤔  Ask Question</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/voltidev/ember-svg-jar/actions?query=workflow%3ATest\" target=\"_blank\">\n    <img src=\"https://github.com/voltidev/ember-svg-jar/workflows/Test/badge.svg?branch=master\"\n      alt=\"Build Status\">\n  </a>\n  <a href=\"https://www.npmjs.com/package/ember-svg-jar\" target=\"_blank\">\n    <img src=\"https://img.shields.io/npm/v/ember-svg-jar.svg?color=informational\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/ember-svg-jar\" target=\"_blank\">\n    <img src=\"https://img.shields.io/npm/dm/ember-svg-jar.svg?color=informational\" />\n  </a>\n  <a href=\"http://emberobserver.com/addons/ember-svg-jar\" target=\"_blank\">\n    <img src=\"http://emberobserver.com/badges/ember-svg-jar.svg\" alt=\"Ember Observer Score\">\n  </a>\n</p>\n\n![](https://svgjar.web.app/images/app-screenshot-adb77f291ccaf5251e42c31eb3b5ddd3.png)\n\n## Table of Contents\n\n- [🍩 Features](#-features)\n- [👋 Getting started](#-getting-started)\n- [🎮 Usage](#-usage)\n- [🔧 Configuration](#-configuration)\n- [❓ FAQ](#-faq)\n- [👓 Compatibility](#-compatibility)\n- [💟 Contributors](#-contributors)\n- [🆓 License](#-license)\n\n## 🍩 Features\n\nHere's some of useful features:\n\n- <a href=\"https://svgjar-demo.web.app\" target=\"_blank\">Visual workflow</a> to find and use SVGs the fastest way possible\n- Automatic SVG optimization (it can cut file size by half or more)\n- Easy to use helper `{{svg-jar \"asset-name\"}}`\n- Support for both `inline` and `symbol` embedding methods\n- Copy SVG as CSS background\n- Zero configuration\n\n## 👋 Getting started\n\n**Installation**\n\n`$ ember install ember-svg-jar`\n\n**Start in 3 easy steps**\n\n- 1️⃣ Drop some SVG images to the `public` directory (e.g. [material-design-icons](https://github.com/google/material-design-icons))\n\n- 2️⃣ Open the [asset viewer](http://localhost:4200/ember-svg-jar/index.html) and select any icon you like\n\n- 3️⃣ Copy the helper code from the viewer and paste it to your template\n\n## 🎮 Usage\n\nPlace your SVG images to the `public` directory (e.g. `./public/images/my-icon.svg`). Then copy the helper code for your image from the [asset viewer](http://localhost:4200/ember-svg-jar/index.html) or just write it by hand like this: `{{svg-jar \"my-icon\"}}`.\n\nThe viewer is available at: <a href=\"http://localhost:4200/ember-svg-jar/index.html\" target=\"_blank\">http://localhost:4200/ember-svg-jar/index.html</a>\n\nIf your `rootURL` is not `/`, then to use the asset viewer you will need to add `rootURL` to the addon [config](https://github.com/voltidev/ember-svg-jar/blob/master/docs/configuration.md#global-options).\n\n### Helper\n\nUse the `svg-jar` helper to embed SVG images to your application's templates.\n\nFor the default `inline` embedding strategy you can write:\n\n```handlebars\n{{svg-jar 'my-cool-icon' class='icon' width='24px'}}\n```\n\nThe helper takes an asset ID and optional attributes that will be added to the created SVG element. The example above will create an SVG like this:\n\n```handlebars\n<svg class='icon' width='24px'>...</svg>\n```\n\nFor the `symbol` strategy you will need to add `#` to the asset ID like this:\n\n```handlebars\n{{svg-jar '#my-cool-icon'}}\n```\n\nIn this case the result can look like this:\n\n```handlebars\n<svg><use xlink:href='#my-cool-icon'></use></svg>\n```\n\n### Accessibility\n\nPass `title`, `desc`, and `role` as properties to the helper in order to include accessible elements or attributes. `aria-labelledby` will be automatically added and point to `title` and/or `desc` if they are included.\n\nWriting this:\n\n```handlebars\n{{svg-jar 'my-cool-icon' role='img' title='Icon' desc='A very cool icon'}}\n```\n\nWill create an SVG that looks like this:\n\n```handlebars\n<svg role=\"img\" aria-labelledby=\"title desc\">\n  <title id=\"title\">Icon</title>\n  <desc id=\"desc\">A very cool icon<desc>\n</svg>\n```\n\n### Assets from Node modules\n\nBy default `ember-svg-jar` looks for SVGs in the `public` directory. To get SVGs from `node_modules` packages or any other directory you will need to add them to `ember-cli-build.js` like this:\n\n```js\nvar app = new EmberApp(defaults, {\n  svgJar: {\n    sourceDirs: [\n      'node_modules/material-design-icons/file/svg/design',\n      'node_modules/material-design-icons/action/svg/design',\n      'public/images/icons',\n    ],\n  },\n});\n```\n\n[Click here for more configuration options](#configuration)\n\n### Usage in an addon\n\nUsing `ember-svg-jar` in an addon is the same as in an app, except that in the `package.json`\nof the addon, it should be listed as one of the `dependencies` and not `devDependencies`.\n\n## 🔧 Configuration\n\nThe addon should be useful without any configuration. But it wants to be very configurable when it's time to adjust it for your needs.\n\n- [All configuration options](docs/configuration.md)\n- [Advanced usage examples](docs/examples.md)\n\n## ❓ FAQ\n\n**Q:** `Will the asset viewer affect my production build size?`  \n**A:** No, it won't at all. The asset viewer is included in development mode only.\n\n**Q:** `Can it find SVG icons outside of the public directory, e.g. from node_modules?`  \n**A:** Yes, it can import SVGs from any directory defined in the sourceDirs array.\n\n**Q:** `Why the SVG files deployed into the dist/assets folder without being fingerprinted?`  \n**A:** This is done with the default ember cli behaviour. For more information see [SVG Fingerprinting](docs/svg-fingerprinting.md).\n\n**Q:** `Why does this matter?`\n\n- [Why GitHub switched from an icon font to SVG](https://github.com/blog/2112-delivering-octicons-with-svg)\n- [\"Inline SVG vs icon fonts\" from css-tricks](https://css-tricks.com/icon-fonts-vs-svg/)\n- [Ten reasons to switch from an icon font to SVG](http://ianfeather.co.uk/ten-reasons-we-switched-from-an-icon-font-to-svg/)\n\n**Q:** `Why would you switch from Font Awesome to SVG?`\n\n- original Font Awesome is about `149 KB` as TTF and `88.3 KB` as WOFF\n- it includes `634` icons and you need just some of them usually\n- 20 Font Awesome icons in SVGJar will be about 4.3 KB (you save `84 KB` or `145 KB` as TTF)\n- 50 Font Awesome icons in SVGJar will be about `9 KB`\n\nYou can get Font Awesome icons as individual SVG files from [font-awesome-svg](https://github.com/voltidev/font-awesome-svg).\n\n## 👓 Compatibility\n\nLatest ember-svg-jar currently supports:\n\n- Ember.js v3.20 or above\n- Ember CLI v3.20 or above\n- Node.js v12 or above\n\n## 💟 Contributors\n\nContributions of any kind welcome! See the [Contributing](CONTRIBUTING.md) guide for details.\n\nThanks goes to these wonderful people:\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://volti.dev/\"><img src=\"https://avatars.githubusercontent.com/u/1476221?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ivan Volti</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/jherdman\"><img src=\"https://avatars.githubusercontent.com/u/3300?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>James Herdman</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://eaf4.com\"><img src=\"https://avatars0.githubusercontent.com/u/319282?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Edward Faulkner</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/Turbo87\"><img src=\"https://avatars2.githubusercontent.com/u/141300?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tobias Bieniek</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://shipshape.io\"><img src=\"https://avatars3.githubusercontent.com/u/2640861?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Robert Wagner</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/wagenet\"><img src=\"https://avatars3.githubusercontent.com/u/9835?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Peter Wagenet</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/ryanpatrickcook\"><img src=\"https://avatars2.githubusercontent.com/u/3067243?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ryan Cook</b></sub></a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/mupkoo\"><img src=\"https://avatars0.githubusercontent.com/u/1788571?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mirko Akov</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://mrloop.com\"><img src=\"https://avatars3.githubusercontent.com/u/12345?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ewan McDougall</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/markcatley\"><img src=\"https://avatars0.githubusercontent.com/u/5198?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark Catley</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://www.seated.com\"><img src=\"https://avatars1.githubusercontent.com/u/19490?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>John Griffin</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://www.facebook.com/lucin.ivan\"><img src=\"https://avatars3.githubusercontent.com/u/4481706?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ivan Lučin</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://hyjk2000.github.io\"><img src=\"https://avatars1.githubusercontent.com/u/4647136?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>James Shih</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://seg.al\"><img src=\"https://avatars1.githubusercontent.com/u/3156114?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>djsegal</b></sub></a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://jan.buschtoens.me\"><img src=\"https://avatars0.githubusercontent.com/u/834636?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jan Buschtöns</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://siva.dev\"><img src=\"https://avatars1.githubusercontent.com/u/7725225?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Sivasubramanyam A</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://alexdiliberto.com\"><img src=\"https://avatars0.githubusercontent.com/u/666459?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Alex DiLiberto</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/Dhaulagiri\"><img src=\"https://avatars1.githubusercontent.com/u/1672302?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Brian Runnells</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://jenweber.github.io/portfolio/\"><img src=\"https://avatars1.githubusercontent.com/u/16627268?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jen Weber</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://hakilebara.com\"><img src=\"https://avatars2.githubusercontent.com/u/1991564?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Frédéric Soumaré</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://kiwiupover.com\"><img src=\"https://avatars3.githubusercontent.com/u/647691?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>David Laird</b></sub></a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"http://www.lumialabs.com\"><img src=\"https://avatars2.githubusercontent.com/u/533152?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Daan van Etten</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/tcjr\"><img src=\"https://avatars3.githubusercontent.com/u/142243?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tom Carter</b></sub></a></td>\n    <td align=\"center\"><a href=\"http://summerisgone.com\"><img src=\"https://avatars0.githubusercontent.com/u/106999?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ivan Gromov</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/ro0gr\"><img src=\"https://avatars2.githubusercontent.com/u/875361?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ruslan Hrabovyi</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://alexlafroscia.com\"><img src=\"https://avatars2.githubusercontent.com/u/1645881?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Alex LaFroscia</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/ljknight\"><img src=\"https://avatars.githubusercontent.com/u/11436149?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Laura Knight</b></sub></a></td>\n    <td align=\"center\"><a href=\"https://betocantu93.com/\"><img src=\"https://avatars.githubusercontent.com/u/9092644?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Alberto Cantú Gómez</b></sub></a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/SergeAstapov\"><img src=\"https://avatars.githubusercontent.com/u/322983?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Sergey Astapov</b></sub></a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n## 🆓 License\n\nThis project is distributed under the MIT license.\n\n---\n\nGitHub [@voltidev](https://github.com/voltidev) &nbsp;&middot;&nbsp;\nTwitter [@voltidev](https://twitter.com/voltidev)\n","readmeFilename":"README.md"}