To contribute and end up in this list:
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Test your changes to the best of your ability.
- Update the documentation to reflect your changes if they add or changes current functionality.
- Commit your changes (
git commit -am 'Added some feature'
) without files from the dist directory. - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
To help create consistent looking code throughout the project, we use a few tools to help us. They have plugins for most popular editors/IDEs to make coding for our project, but you should use them in your project as well!
We use JSHint on each build to find easy-to-catch errors and potential problems in our js. You can find our JSHint settings in the .jshintrc
file in the root of the project.
We use jscs on each build to enforce some code style rules we have for our project. You can find our jscs settings in the .jscsrc
file in the root of the project.
We use EditorConfig to maintain consistent coding styles between various editors and IDEs. You can find our settings in the .editorconfig
file in the root of the project.
Looking for something simple for a first contribution? Try fixing an easy first bug!
MediumEditor development tasks are managed by Grunt. To install all the necessary packages, just invoke:
npm install
To run all the test and build the dist files for testing on demo pages, just invoke:
grunt
These are the other available grunt tasks:
- js: runs jslint and jasmine tests and creates minified and concatenated versions of the script;
- css: runs autoprefixer and csslint
- test: runs jasmine tests, jslint and csslint
- watch: watch for modifications on script/scss files
- spec: runs a task against a specified file
The source files are located inside the src directory. Be sure to make changes to these files and not files in the dist directory.