Skip to content


Switch branches/tags

For information on the ContentTools 2.x roadmap please view the: Roadmap repo


Build Status

A JS library for building WYSIWYG editors for HTML content.



Using bower

bower install --save ContentTools

Using npm

npm install --save ContentTools


To build the library you'll need to use Grunt. First install the required node modules (grunt-cli must be installed):

git clone
cd ContentTools
npm install

Install Sass (if not already installed):

gem install sass

Then run grunt build to build the project.


To test the library you'll need to use Jasmine. First install Jasmine:

git clone
mkdir ContentTools/jasmine
mv jasmine/dist/ ContentTools/jasmine
cd ContentTools/jasmine

Then open ContentTools/SpecRunner.html in a browser to run the tests.

Alternatively you can use grunt jasmine to run the tests from the command line.

ContentTools via jsdelivr

ContentTools is available via the jsdelivr open source CDN, to reference a file from the ContentTools build directory use the following URL format:{version}/{file}

For example to access the current primary JavaScript file the URL would be:

As the project's CSS uses relative file paths you will need to either role your own version of CSS from the SASS files (recommended) or override references to fonts/images within your local CSS.


Full documentation is available at

Where to post...

  • How do I? -- StackOverflow
  • I got this error, why? -- StackOverflow
  • I got this error and I'm sure it's a bug -- post an issue
  • I have an idea/request -- post an issue
  • Why do you? -- chat with me on gitter (I may then post it as an issue)
  • When will you? -- chat with me on gitter (I may then post it as an issue)
  • You suck and I hate you -- contact us privately at!
  • You're awesome -- please find a megaphone and suitably high rooftop (but seriously any help spreading the word about ContentTools is much appreciated)

Stolen almost in it's entirety from this post on

Browser support

The current aim is for all the libraries to support IE9+, Chrome and Firefox. Test suites are complete for all the libraries except ContentTools and I'm using Jasmine to check that the tests pass in those browsers.

There will be some visual differences for ContentTools in IE9 as I use CSS animations for some of the UI feedback.

Helpful organizations

ContentTools is developed using a number of tools & services provided for free by nice folks at organizations committed to supporting open-source projects including BrowserStack, GitHub and jsdelivr, Travis CI.