This README contains information on setting up the Canon development environment on your local machine. Use these instructions if you intend to develop Canon elements and contribute code back to the project.
For information on including Canon CSS and javascript in your application, see http://canon.rackspace.com.
- Ruby 2.x.x
- Node 0.6 or higher
- PhantomJS 1.7 or higher
- ImageMagick 6.5.x or 6.6.x
- RVM or rbenv (Highly Recommended)
Setting up your Canon development environment is easy:
$ git clone https://github.com/rackerlabs/canon.git
$ script/bootstrap
$ grunt server
The Canon server is now running at http://0.0.0.0:8000. Before running automated
tests, you'll need to set the SAUCE_USERNAME
and SAUCE_ACCESS_KEY
environment
variables. If you run into any issues, submit an issue.
If you are on Windows, or you don't already have a working Ruby and Node.js development environment, it may be easier to run the development environment inside of an automatically-configured Vagrant VM.
First install Vagrant and VirtualBox, then from the command line enter:
$ vagrant up
$ vagrant ssh -c 'cd /vagrant; grunt server'
Read the comments in the Vagrantfile for more details.
We use GitHub flow as our process for contributing. In short:
- Fork Canon to your GitHub account and clone the forked repository.
git checkout master
- Switch to the master branch.git pull origin master
- Pull the latest revision from GitHub.git checkout -b FEATURE_NAME
- Create a feature branch.- Make and commit changes to the feature branch.
grunt
- Verify all tests are passing.git push origin FEATURE_NAME
- Push changes to GitHub.- Open a pull request and wait for your changes to be reviewed.
- After addressing pull request feedback, your changes will be merged.
Commit messages should use the following format for easier changelog generation:
[TYPE][ID] Description
Body
Type can be: Feature, Bug, Style, Test, Maintenance ID is the Trello card number being implemented.