- Install Node.js
- Open a console and go to the project directory
- Write "npm i -g grunt-cli" to install the grunt command line tool globally.
- Write "npm i" to install all package dependencies.
- Build TinyMCE by writing "grunt"
Lints, minified, unit tests and creates release packages for TinyMCE.
Minifies all JS and CSS files.
Runs all qunit tests on PhantomJS.
Runs all source files though various JS linters.
Runs all qunit tests on Saucelabs.
Watches for source code changes and triggers rebuilds and linting.
Displays the various build tasks.
Bundle themes and plugins into a single file
grunt bundle --themes modern --plugins table,paste
Minifies the core, adds the modern theme and adds the table and paste plugin into tinymce.min.js.
Contributing to the TinyMCE project
TinyMCE is an open source software project and we encourage developers to contribute patches and code for us to include in the main package of TinyMCE.
- Contributed code will be licensed under the LGPL license but not limited to LGPL.
- Copyright notices will be changed to Ephox Corporation, contributors will get credit for their work.
- All third party code will be reviewed, tested and possibly modified before being released.
- All contributors will have to have signed the Contributor License Agreement.
These basic rules ensures that the contributed code remains open source and under the LGPL license.
How to Contribute to the Code
The TinyMCE source code is hosted on Github. Through Github you can submit pull requests and log new bugs and feature requests.
When you submit a pull request, you will get a notice about signing the Contributors License Agreement (CLA). You should have a valid email address on your GitHub account, and you will be sent a key to verify your identity and digitally sign the agreement.
After you signed your pull request will automatically be ready for review & merge.
How to Contribute to the Docs
Docs are hosted on Github in the tinymce-docs repo.
How to contribute to the docs, including a style guide, can be found on the TinyMCE website.