snap.js/README.md

112 lines
3.9 KiB
Markdown
Raw Normal View History

2017-02-03 01:57:47 +00:00
[Snap.svg](http://snapsvg.io) · [![Build Status](https://travis-ci.org/adobe-webplatform/Snap.svg.svg?branch=dev)](https://travis-ci.org/adobe-webplatform/Snap.svg) [![CDNJS](https://img.shields.io/cdnjs/v/snap.svg.svg)](https://cdnjs.com/libraries/snap.svg/) [![GitHub Tag](https://img.shields.io/github/tag/adobe-webplatform/snap.svg.svg)](https://github.com/adobe-webplatform/Snap.svg/releases) [![License](https://img.shields.io/npm/l/snapsvg.svg)](https://github.com/adobe-webplatform/Snap.svg/blob/master/LICENSE)
2013-07-05 04:56:18 +00:00
======
2013-10-22 17:23:59 +00:00
A JavaScript SVG library for the modern web. Learn more at [snapsvg.io](http://snapsvg.io).
2013-09-02 04:26:51 +00:00
2013-10-23 14:56:38 +00:00
[Follow us on Twitter.](https://twitter.com/snapsvg)
### Install
2017-02-03 01:57:47 +00:00
* [Bower](http://bower.io/) - `bower install snap.svg` ![Bower](https://img.shields.io/bower/v/snap.svg.svg)
* [npm](http://npmjs.com/) - `npm install snapsvg` [![npm version](https://img.shields.io/npm/v/snapsvg.svg?style=flat)](https://www.npmjs.com/package/snapsvg) [![Downloads](https://img.shields.io/npm/dt/snapsvg.svg)](https://www.npmjs.com/package/snapsvg)
* Manual Minified - https://github.com/adobe-webplatform/Snap.svg/raw/master/dist/snap.svg-min.js
* Manual Unminified - https://raw.githubusercontent.com/adobe-webplatform/Snap.svg/master/dist/snap.svg.js
2013-10-23 13:53:40 +00:00
### Learn
2013-09-09 01:16:25 +00:00
2013-10-23 13:53:40 +00:00
* [About Snap.svg](http://snapsvg.io/about/)
* [Getting Started](http://snapsvg.io/start/)
2013-10-24 01:01:42 +00:00
* [API Reference](http://snapsvg.io/docs/)
2017-02-03 11:19:22 +00:00
* [Slack Room](https://snapsvg.slack.com/). [Invite](https://snapsvg.slack.com/shared_invite/MTM2NTE4MTk3MDYwLTE0ODYwODgzNzUtYjQ0YmM1N2U0Mg)
2013-10-23 13:53:40 +00:00
2013-10-29 01:13:58 +00:00
### Use
2017-01-30 23:12:04 +00:00
In your HTML file, load simply by:
```html
2017-01-30 23:18:50 +00:00
<script src="snap.svg-min.js"></script>
2017-01-30 23:12:04 +00:00
```
2013-10-29 01:13:58 +00:00
No other scripts are needed. Both the minified and uncompressed (for development) versions are in the `/dist` folder.
#### webpack
To load with webpack 2.x and 3.x, install [Imports Loader](https://github.com/webpack-contrib/imports-loader) (`npm i -D imports-loader`), and add the following to your webpack config:
2017-01-30 23:12:04 +00:00
```js
module: {
rules: [
{
test: require.resolve('snapsvg/dist/snap.svg.js'),
use: 'imports-loader?this=>window,fix=>module.exports=0',
},
],
},
resolve: {
alias: {
snapsvg: 'snapsvg/dist/snap.svg.js',
},
},
```
Then, in any module youd like to require Snap, use:
```
import Snap from 'snapsvg';
2017-01-30 23:12:04 +00:00
```
2013-10-23 13:53:40 +00:00
### Build
2017-02-03 00:54:28 +00:00
[![Build Status](https://travis-ci.org/adobe-webplatform/Snap.svg.svg?branch=dev)](https://travis-ci.org/adobe-webplatform/Snap.svg)
2013-09-09 01:16:25 +00:00
2013-10-22 17:23:59 +00:00
Snap.svg uses [Grunt](http://gruntjs.com/) to build.
2013-09-09 01:16:25 +00:00
2013-10-22 17:23:59 +00:00
* Open the terminal from the Snap.svg directory:
2017-01-30 23:18:50 +00:00
```sh
cd Snap.svg
```
2013-10-22 17:23:59 +00:00
* Install its command line interface (CLI) globally:
2017-01-30 23:18:50 +00:00
```sh
npm install -g grunt-cli
```
_*You might need to use `sudo npm`, depending on your configuration._
2013-10-22 17:23:59 +00:00
* Install dependencies with npm:
2017-01-30 23:18:50 +00:00
```sh
npm install
```
_*Snap.svg uses Grunt 0.4.0. You might want to [read](http://gruntjs.com/getting-started) more on their website if you havent upgraded since a lot has changed._
2013-09-09 01:16:25 +00:00
2017-02-03 01:48:28 +00:00
* To build the files run
```sh
grunt
```
* The results will be built into the `dist` folder.
* Alternatively type `grunt watch` to have the build run automatically when you make changes to source files.
2017-02-03 01:48:28 +00:00
### Testing
Tests are located in `test` folder. To run tests, simply open `test.html` in there. Automatic tests use PhantomJS to scrap this file, so you can use it as a reference.
Alternatively, install [PhantomJS](http://phantomjs.org) and run command
```sh
grunt test
```
2013-10-23 13:53:40 +00:00
### Contribute
2013-10-23 20:53:23 +00:00
* [Fill out the CLA](http://snapsvg.io/contributions/).
2013-10-16 21:42:11 +00:00
* [Fork](https://help.github.com/articles/fork-a-repo) the repo.
* Create a branch:
2017-01-30 23:18:50 +00:00
```sh
git checkout -b my_branch
```
2013-10-16 21:42:11 +00:00
* Add your changes.
2017-02-03 01:48:28 +00:00
* Check that tests are passing
2013-10-16 21:42:11 +00:00
* Commit your changes:
2017-01-30 23:18:50 +00:00
```sh
git commit -am "Added some awesome stuff"
```
2013-10-16 21:42:11 +00:00
* Push your branch:
2017-01-30 23:18:50 +00:00
```sh
git push origin my_branch
```
2017-01-30 23:12:04 +00:00
* Make a [pull request](https://help.github.com/articles/using-pull-requests) to `dev`(!) branch.
*Note:* Pull requests to other branches than `dev` or without filled CLA wouldnt be accepted.