# README [![Build Status](https://travis-ci.org/tmtk75/jumly.png)](https://travis-ci.org/tmtk75/jumly)
JUMLY is a JavaScript library.
Using JUMLY, you can easily embed UML diagram on your HTML document.
All you need is just two things you use everyday.
- Text editor you get used to use.
- A modern browser like WebKit-base brwoser and Opera.
(working for Firefox now)
For more information, see .
The auther's blog is .
## Trait and Purpose
Trait I'd like to tell you is that JUMLY doesn't render diagram as image like PNG or SVG,
but render as **combination of DOM with CSS on browser**.
You can easily calibrate any CSS parameters like font-size,
color, padding, margin, etc using CSS at runtime.
Actually you can also usual image data in PNG and JPEG.
They are generated by a [CLI](https://github.com/tmtk75/jumly/wiki/CLI)
or [REST API](https://github.com/tmtk75/jumly/wiki/REST-API),
so JUMLY is convenient way to embed small diagrams in your HTML documents like README file like below.
I aim to develop JUMLY to render small UML diagrams in handy without any heavy UML modeling tools.
A UML diagram is usually more understandable than a tedious text.
It's better that people can casually use UML digrams in every documents.
# Getting Started
Copy following code, save as a file, and open the file with your browser.
```html
```
[Here](http://jumly.tmtk.net/public/examples/simple.html) is a minimal sample.
# How to build
Requiring [node.js](http://nodejs.org/) v0.10.20 or upper.
## node.js installation
[nvm](https://github.com/creationix/nvm) is good to get it.
$ git clone git://github.com/creationix/nvm.git ~/.nvm
$ . ~/.nvm/nvm.sh
$ nvm install 0.10
## Build jumly
In order to build jumly.js, jumly.css and minified ones, it's shortly steps.
$ git clone https://github.com/tmtk75/jumly.git
$ cd jumly
$ . .env
$ npm install
$ make build
`./public/jumly.min.js` is generated.
# How to develop
Written in CoffeeScript and stylus. They are in `./lib` directory.
`./lib/js/jumly.coffee` organizes other \*.coffee files in order.
On a webapp, which is described at [next](#how-to-launch-the-webapp),
you can use them without build.
Editing \*.coffee and \*.styl, reload a page of webapp, and your change will make effect.
# How to launch the webapp
You can launch the webapp using [express](http://expressjs.com/).
$ . .env
$ git submodule update --init
$ ./app.coffee
Please access to [localhost:3000](http://localhost:3000) thru your browser.
# How to run specs
## With browser
$ make test
Compile spec files, and open `./spec/index.html` with your browser.
## With Karma
To compile them,
$ . .env
$ build karam
$ open spec/index.html
[jasmine](http://pivotal.github.com/jasmine/) is used for writing specs.
# License
JUMLY v0.2.2 is under [MIT License](http://opensource.org/licenses/MIT).
JUMLY v0.2.2, 2010-2015 copyright(c), all rights reserved Tomotaka Sakuma.
# History
- 0.2.4, Jul 21, 2015
- Workaround for [#40](https://github.com/tmtk75/jumly/issues/40)
- 0.2.3, Apr 1, 2015
- Fixed [#38](https://github.com/tmtk75/jumly/issues/38)
- 0.2.2, Feb 7, 2015
- Fixed an issue for image width
- 0.2.1, Jan 25, 2015
- Fixed several issues.
[#8](https://github.com/tmtk75/jumly/issues/8)
[#18](https://github.com/tmtk75/jumly/issues/18)
[#19](https://github.com/tmtk75/jumly/issues/19)
[#23](https://github.com/tmtk75/jumly/issues/23)
[#24](https://github.com/tmtk75/jumly/issues/24)
[#31](https://github.com/tmtk75/jumly/issues/31)
[#35](https://github.com/tmtk75/jumly/issues/35)
- 0.2.0, Jan 4, 2015
- Followed CommonJS for module system
- Use Karam for test
- 0.1.5-2, Mar 12, 2014
- Removed z-index from `.sequence-diagram .lifeline .line` for [#28](https://github.com/tmtk75/jumly/issues/28)
- 0.1.5-1, June 23, 2013
- REST API to generate image
- 0.1.4, May 20, 2013
- Replaced canvas with svg
- 0.1.3b, Apr 27, 2013
- API JUMLY.scan (beta)
- 0.1.3a, Mar 29, 2013
- Robustness diagram prototyping
- Fixed pollution of jQuery namespace with some funcitons
- Use GRUNT for bulid, Mar 10, 2013
- 0.1.2b, Jan 9, 2013
- @fragment directive
- 0.1.2a, Dec 31, 2012
- Fixed https://github.com/tmtk75/jumly/issues/4
- Try JUMLY, Dec 29, 2012
- interactive demo for sequence diagram
- 0.1.2, Dec 29, 2012
- change CSS class name for .participant, which was .object
- Reference Manual r1 published Dec 10, 2012
- 0.1.1 Nov 29, 2012
- support @note directive
- adjust margins and spaces in stylesheet
- 0.1.0 Nov 23, 2012 -- initial release
- support sequence diagram
# Special Thanks
- jQuery
- CoffeeScript
- node.js
- express
- GitHub
- heroku
- jade
- Stylus
- Markdown
- GRUNT
- webpack
- Karma