openseadragon/README.md

96 lines
4.2 KiB
Markdown
Raw Normal View History

2013-11-27 21:28:34 +04:00
# OpenSeadragon
2014-10-15 22:14:40 +04:00
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/openseadragon/openseadragon?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2011-12-02 00:26:17 +04:00
An open-source, web-based viewer for zoomable images, implemented in pure JavaScript.
2011-12-02 00:26:17 +04:00
See it in action and get started using it at http://openseadragon.github.io/.
2011-12-02 00:26:17 +04:00
## Stable Builds
2013-04-22 21:32:23 +04:00
2013-07-23 05:33:58 +04:00
See the [GitHub releases page](https://github.com/openseadragon/openseadragon/releases).
## Development
2011-12-02 00:26:17 +04:00
If you want to use OpenSeadragon in your own projects, you can find the latest stable build, API documentation, and example code at http://openseadragon.github.io/. If you want to modify OpenSeadragon and/or contribute to its development, read on.
### First Time Setup
All command-line operations for building and testing OpenSeadragon are scripted using [Grunt](http://gruntjs.com/) which is based on [Node.js](http://nodejs.org/). To get set up:
2013-02-22 01:46:11 +04:00
2013-03-12 21:43:37 +04:00
1. Install Node, if you haven't already (available at the link above)
1. Install the Grunt command line runner (if you haven't already); on the command line, run `npm install -g grunt-cli`
2013-02-22 01:46:11 +04:00
1. Clone the openseadragon repository
1. On the command line, go in to the openseadragon folder
1. Run `npm install`
You're set... continue reading for build and test instructions.
### Building from Source
2013-02-22 01:46:11 +04:00
To build, just run (on the command line, in the openseadragon folder):
grunt
If you want Grunt to watch your source files and rebuild every time you change one, use:
grunt watch
2015-09-16 19:39:43 +03:00
To have it watch your source files and also run a server for you to test in:
grunt dev
The built files appear in the `build` folder.
2013-02-22 01:46:11 +04:00
If you want to build tar and zip files for distribution (they will also appear in the `build` folder), use:
2013-02-15 23:00:07 +04:00
grunt package
Note that the `build` folder is masked with .gitignore; it's just for your local use, and won't be checked in to the repository.
You can also publish the built version to the site-build repository. This assumes you have cloned it next to this repository. The command is:
grunt publish
... which will delete the existing openseadragon folder, along with the .zip and .tar.gz files, out of the site-build folder and replace them with newly built ones from the source in this repository; you'll then need to commit the changes to site-build.
### Testing
2013-02-15 02:02:32 +04:00
Our tests are based on [QUnit](http://qunitjs.com/) and [PhantomJS](http://phantomjs.org/); they're both installed when you run `npm install`. At the moment we don't have much in the way of tests, but we're working to fix that. To run on the command line:
grunt test
If you wish to work interactively with the tests or test your changes:
2013-02-22 01:46:11 +04:00
grunt connect watch
2013-11-27 21:28:34 +04:00
and open `http://localhost:8000/test/test.html` in your browser.
2013-08-29 21:30:56 +04:00
Another good page, if you want to interactively test out your changes, is `http://localhost:8000/test/demo/basic.html`.
You can also get a report of the tests' code coverage:
grunt coverage
The report shows up at `coverage/html/index.html` viewable in a browser.
### Contributing
2013-03-28 20:43:11 +04:00
OpenSeadragon is truly a community project; we welcome your involvement!
2015-04-14 21:05:55 +03:00
When contributing, please attempt to match the code style already in the codebase. Note that we use four spaces per indentation stop. For easier setup you can also install [EditorConfig](http://editorconfig.org/) if your IDE is supported. For more thoughts on code style, see [idiomatic.js](https://github.com/rwldrn/idiomatic.js/).
2013-03-28 20:43:11 +04:00
2013-05-07 20:27:37 +04:00
When fixing bugs and adding features, when appropriate please also:
2013-11-27 21:28:34 +04:00
* Update related doc comments (we use [JSDoc 3](http://usejsdoc.org/))
* Add/update related unit tests
2013-05-07 20:27:37 +04:00
If you're new to the project, check out our [good first bug](https://github.com/openseadragon/openseadragon/issues?labels=good+first+bug&page=1&state=open) issues for some places to dip your toe in the water.
2014-04-09 01:44:51 +04:00
If you're new to open source in general, check out [GitHub's open source intro guide](https://guides.github.com/overviews/os-contributing/).
## License
2015-04-13 21:08:40 +03:00
OpenSeadragon is released under the New BSD license. For details, see the file LICENSE.txt.
2013-02-18 22:03:04 +04:00
[![Build Status](https://secure.travis-ci.org/openseadragon/openseadragon.png?branch=master)](http://travis-ci.org/openseadragon/openseadragon)