You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ulrich-Matthias Schäfer 51dafe62e0 fix playgrounds, delete unneeded files 5 years ago
.config dont generate esm bundle anymore and link to src/main.js directly. Move bower to its own repo 5 years ago
bench Get rid of HTMLNode and Bare in favor of Dom 5 years ago
playgrounds fix playgrounds, delete unneeded files 5 years ago
spec fix playgrounds, delete unneeded files 5 years ago
src fix playgrounds, delete unneeded files 5 years ago
.eslintrc.yaml Reverted some of the lint rules after chatting with fuzzy 5 years ago
.gitignore dont generate esm bundle anymore and link to src/main.js directly. Move bower to its own repo 5 years ago
.travis.yml Fix build chain so that we now have multiple builds. Details below: 5 years ago
CHANGELOG.md fix playgrounds, delete unneeded files 5 years ago
LICENSE.txt fix playgrounds, delete unneeded files 5 years ago
README.md fix readme 5 years ago
package-lock.json Merge branch '790-color-spaces' into 3.0.0 5 years ago
package.json Merge branch '790-color-spaces' into 3.0.0 5 years ago
svg.js.d.ts Syntax fixes in TypeScript declaration file 7 years ago

README.md

SVG.js

Build Status Coverage Status CDNJS

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

Documentation

Check https://svgdotjs.github.io to learn more.

Donate

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 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.

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, we are always happy to see new users!