A JavaScript library to draw pretty git graphs in the browser
JavaScript CSS
Clone or download

README.md

gitgraph.js

Build Status

A JavaScript library to draw pretty git graphs in the browser.

Project page: http://gitgraphjs.com/

How to start

You have different options to start with the library:

Production files are available under the build/ directory.

Report a bug / Ask for a feature

You found some nasty bug or have a cool feature request? Just open a new issue.

Please have a look at the Issue Guidelines from Nicolas Gallagher before doing so.

Documentation

The JavaScript source code is documented with JSDoc.

Contributing

Editor preferences are available in for the editor config easy use in common text editors. Read more and download plugins at http://editorconfig.org.

The project uses Grunt with convenient methods for our workflow. It's how we lint our code, run tests, generate documentation, etc. To use it, install the required dependencies as directed and then run the following Grunt commands.

Install Grunt

From the command line:

When completed, you'll be able to run the various Grunt commands provided from the command line.

> Need more information about how to get started with Grunt?

Available commands

test code - npm test

Check source code against JSHint then runs unit tests with Jasmine.

generate documentation - npm run doc

Generate source code documentation into dist/docs/ (not versioned) with JSDoc.

generate TypeScript Definition - npm run tsd

Generate TypeScript Definition into dist/gitgraph.d.ts (not versioned).

compile a non-versioned release - npm run dist

Clean dist/ directory, lint code, output the minified release into dist/gitgraph.min.js and generate the documentation into dist/docs/.

compile a new release - npm run release

Lint code, output the source and minified releases into build/ and generate the official documentation into docs/.

open a live reload server - npm start

For a better code experience, this grunt task opens a live server in your favorite browser. This server is automatically reloaded when you save a project file.

Please note that examples/index.html is the default file for testing ;)

Versioning

We use SemVer as a guideline for our versioning here.

What does that mean?

Releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the <major> (and resets the <minor> and <patch>)
  • New additions without breaking backward compatibility bump the <minor> (and reset the <patch>)
  • Bug fixes and misc. changes bump the <patch>

Authors and contributors

Nicolas Carlo - @nicoespeon } http://nicoespeon.com

Fabien Bernard - @fabien0102

Copyright and License

Copyright (c) 2013 Nicolas CARLO and Fabien BERNARD under the MIT license

> What does that mean?