diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..5fb03bfd5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing to Vimium + +You'd like to fix a bug or implement a feature? Great! Check out the bugs on our issues tracker, or implement +one of the suggestions there that have been tagged 'todo'. If you have a suggestion of your own, start a +discussion on the issues tracker or on the [mailing list](http://groups.google.com/group/vimium-dev?hl=en). If +it mirrors a similar feature in another browser or in Vim itself, let us know! Once you've picked something to +work on, add a comment to the respective issue so others don't duplicate your effort. + +## Reporting Issues + +Please include the following when reporting an issue: + + 1. Chrome and OS Version: `chrome://version` + 1. Vimium Version: `chrome://extensions` + +## Installing From Source + +Vimium is written in Coffeescript, which compiles to Javascript. To +install Vimium from source: + + 1. Install [Coffeescript](http://coffeescript.org/#installation). + 1. Run `cake build` from within your vimium directory. Any coffeescript files you change will now be automatically compiled to Javascript. + 1. Navigate to `chrome://extensions` + 1. Toggle into Developer Mode + 1. Click on "Load Unpacked Extension..." + 1. Select the Vimium directory. + +## Tests + +Our tests use [shoulda.js](https://github.com/philc/shoulda.js) and [PhantomJS](http://phantomjs.org/). To run the tests: + + 1. `git submodule update --init --recursive` -- this pulls in shoulda.js. + 1. [Install PhantomJS.](http://phantomjs.org/download.html) + 1. `cake test` to run the tests. + +## Code Coverage + +Bugs and features are not the only way to contribute -- more tests are always welcome. You can find out which +portions of code need them by looking at our coverage reports. To generate these reports: + + 1. Download [JSCoverage](http://siliconforks.com/jscoverage/download.html) or `brew install jscoverage` + 1. `npm install temp` + 1. `cake coverage` will generate a coverage report in the form of a JSON file (`jscoverage.json`), which can + then be viewed using [jscoverage-report](https://github.com/int3/jscoverage-report). See + jscoverage-report's [README](https://github.com/int3/jscoverage-report#jscoverage-report) for more details. + +## Pull Requests + +When you're done with your changes, send us a pull request on Github. Feel free to include a change to the +CREDITS file with your patch. + +## Coding Style + + * Follow the style already present in the file. + * Ensure your lines don't exceed 110 characters. diff --git a/README.markdown b/README.markdown index 6741ebdde..d0cabeed9 100644 --- a/README.markdown +++ b/README.markdown @@ -11,14 +11,9 @@ __Installation instructions:__ You can install the stable version of Vimium from the [Chrome Extensions Gallery](https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb). -Alternatively, you can install it from source: - -1. Install [Coffeescript](http://coffeescript.org/#installation) (needed to build vimium). -2. Run `cake build` in the Vimium directory. -3. Navigate to `chrome://extensions` -4. Toggle into Developer Mode -5. Click on "Load Unpacked Extension..." -6. Select the Vimium directory. +Please see +[CONTRIBUTING.md](https://github.com/philc/vimium/blob/master/CONTRIBUTING.md#installing-from-source) +for instructions on how you can install Vimium from source. The Options page can be reached via a link on the help dialog (hit `?`) or via the button next to Vimium on the Chrome Extensions page (`chrome://extensions`). @@ -130,38 +125,7 @@ Shifts are automatically detected so, for example, `` corresponds to ctrl+s Contributing ------------ -You'd like to fix a bug or implement a feature? Great! Check out the bugs on our issues tracker, or implement -one of the suggestions there that have been tagged 'todo'. If you have a suggestion of your own, start a -discussion on the issues tracker or on the [mailing list](http://groups.google.com/group/vimium-dev?hl=en). If -it mirrors a similar feature in another browser or in Vim itself, let us know! Once you've picked something to -work on, add a comment to the respective issue so others don't duplicate your effort. - -Vimium is written in Coffeescript, which compiles to Javascript. To build Vimium from source: - -1. Install [Coffeescript](http://coffeescript.org/#installation). -2. Run `cake autobuild` from within your vimium directory. Any coffeescript files you change will now be automatically compiled to Javascript. - -Our tests use [shoulda.js](https://github.com/philc/shoulda.js) and [PhantomJS](http://phantomjs.org/). To run -the tests: - -1. `git submodule update --init --recursive` -- this pulls in shoulda.js. -2. [Install PhantomJS.](http://phantomjs.org/download.html) -3. `cake test` to run the tests. - -Bugs and features are not the only way to contribute -- more tests are always welcome. You can find out which -portions of code need them by looking at our coverage reports. To generate these reports: - -1. Download [JSCoverage](http://siliconforks.com/jscoverage/download.html) or `brew install jscoverage` -2. `npm install temp` -3. `cake coverage` will generate a coverage report in the form of a JSON file (`jscoverage.json`), which can - then be viewed using [jscoverage-report](https://github.com/int3/jscoverage-report). See - jscoverage-report's [README](https://github.com/int3/jscoverage-report#jscoverage-report) for more details. - -When you're done with your changes, send us a pull request on Github. Feel free to include a change to the -CREDITS file with your patch. - -A few coding style guidelines: 1) follow the style already present in the file, 2) ensure your lines -don't exceed 110 characters. +Please see [CONTRIBUTING.md](https://github.com/philc/vimium/blob/master/CONTRIBUTING.md) for details. Release Notes -------------