Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 2.75 KB

CONTRIBUTING.md

File metadata and controls

51 lines (34 loc) · 2.75 KB

Contributing to chartist-js

Found an Issue?

If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to our [GitHub Repository][github]. Even better you can submit a Pull Request with a fix.

How to Run a Local Distribution

  1. cd into your local copy of the repository.
  2. Run npm install to install dependencies located in package.json.
  3. Run bower update to install bower dependencies.
  4. Run grunt serve to start the watch task, and the web server should automatically open. Congrats, you should now be able to see your local copy of the demo site.

Submission Guidelines

If you are creating a Pull Request, fork the repository and make any changes on the develop branch.

Conventions

Check out the Coding Style document

Grunt

We have three grunt tasks:

  1. grunt build - Creates the distribution of the example / demo site which is used as visual development help of the charts but also serves as the documentation site / gh-pages.
  2. grunt serve - Starts watch with livereload that is executing the same things as the site dist default task but for live development.
  3. grunt test - Executes jasmine tests separately, although we have a very big lack of tests.
  4. grunt serve:dist - Executes a dist and serves the directory statically in order to serve with the production example / demo site.

libdist should not be included in any Pull Requests. So please ensure that code is not being committed as part of the Pull Request.

Documentation

  • Everything is already in place and in the sitedist there is a apidoc folder generated by doxication generator that uses JSDoc like comments to generate documentation meta files. Always use proper JSDoc comments when documenting methods and API interfaces. Also assign documentation blocks using @memberof to the virtual module they belong to.
  • The site documentation is built with Assemble.io. Generally a component based approach should be followed where there are already Handlebar partials / helpers in order to create whole sites based on components that can be specified by type and with their data in yaml files.

Important missing stuff

  1. Jasmine Tests!
  2. Documentation: JSDoc, Getting started documentation and landing page
  3. Better accessibility using ARIA and other optimizations
  4. Better interfaces to the library (i.e. jQuery with data-* attributes for configuration), Angular.js directive etc.
  5. Richer SASS / CSS framework
  6. Other charts types (spider etc.)