1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# SVG.js
[![Build Status](https://travis-ci.org/svgdotjs/svg.js.svg?branch=master)](https://travis-ci.org/svgdotjs/svg.js)
[![Coverage Status](https://coveralls.io/repos/github/svgdotjs/svg.js/badge.svg?branch=master)](https://coveralls.io/github/svgdotjs/svg.js?branch=master)
[![CDNJS](https://img.shields.io/cdnjs/v/svg.js.svg)](https://cdnjs.com/libraries/svg.js)
[![Join the chat at https://gitter.im/svgdotjs/svg.js](https://badges.gitter.im/svgdotjs/svg.js.svg)](https://gitter.im/svgdotjs/svg.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
__A lightweight library for manipulating and animating SVG, without any dependencies.__
SVG.js is licensed under the terms of the MIT License.
## Installation
#### Bower:
`bower install svg.js`
#### Node:
`npm install svg.js`
#### Cdnjs:
[https://cdnjs.com/libraries/svg.js](https://cdnjs.com/libraries/svg.js)
## Documentation
Check [https://svgdotjs.github.io](https://svgdotjs.github.io/) to learn more.
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=pay%40woutfierens.com&lc=US&item_name=SVG.JS¤cy_code=EUR&bn=PP-DonationsBF%3Abtn_donate_74x21.png%3ANonHostedGuest)
## Development
To develop svg.js, you have a few commands available to you. Firstly, you should clone this repo, then cd into the folder with this README and run:
npm install
You'll now have all the dev dependencies installed, and you'll be ready to build the bundle. Once you've made your changes just run:
npm run build
This will build svg.js and make a distribution in the `/dist` folder. While developing, this may not be so convenient as the build will fail if you have any linting errors, refer to the [standard coding styleguide](https://standardjs.com/) for style we use, linters are available for most popular text editors as well.
However, because we were too nice to put you through the pain of always having to work with a linter, we added a gentle mode that you can use by running:
npm run build:dev
This will only warn you about linting errors and give you useful feedback about possible errors you may have in your code (but this is no substitute for tests). Please make sure that **before making any pull requests**, you pass all of our tests and can build with `npm run build` first.
> ⚠️⚠️⚠️ WARNING ⚠️⚠️⚠️
> This library still uses es5, so if you do anything like using `let`, it will
> probably break, and you probably won't be able to figure out why. This is
> only a temporary trouble 🙃 We will fix it as soon as we can!
>
> The linter is ready for es6, but the build process is not, so if you get an
> error and the linter says nothing; check for es6iness 😍
### Testing
This will set up everything. While you are working, you should make sure your changes pass all of our tests, so just run:
npm run test
Or just launch the jasmine test runner from `/spec/SpecRunner.html`. Its good to try the spec runner on a few different browsers.
### Performance
You can run performance tests by making a new benchmarks, look in the `/bench` folder and just add a new js file with the test you want to make. We include a few examples in the repo to make it easy for you to make your own.
### Playgrounds
If you would like a simple sandbox that you can use
## Pull Requests
We welcome any pull requests and will try our hardest to review them as soon as possible. If you need any help or would like to chat, check out our [gitter group](https://gitter.im/svgdotjs/svg.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge), we are always happy to see new users!
|