A modern, simple and elegant WYSIWYG rich text editor.
JavaScript CSS HTML
Latest commit 7406a1a Jan 26, 2016 Ot��vio Augusto Soares fixes #130
Failed to load latest commit information.
build Fixes #89 Mar 14, 2014
src/js fixes #130 Jan 26, 2016
.gitignore added gulp tasks Jan 24, 2014
LICENSE.md Fixed formatting Mar 13, 2014
README.md Fixed the missing line breaks. Mar 28, 2014
bower.json added bower manifest Jan 24, 2014
gulpfile.js added gulp tasks Jan 24, 2014
index.html Reverted index.html Feb 19, 2014
package.json added gulp tasks Jan 24, 2014
style.css Fixed movement from inactive state Feb 19, 2014



A simple, clean and elegant WYSIWYG rich text editor for web aplications
Note: Check out the fully functional demo and examples here.


Prerequisites: jQuery-Notebook's default styling FontAwesome draw the icons on the context bubble. You can install both FontAwesome and jQuery-Notebook through bower with the following command:

bower install jquery-notebook font-awesome

Alternatively, you can download FontAwesome here or link to the CDN.

Add the FontAwesome css and jQuery-Notebook css to you page head:
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="src/js/jquery.notebook.css">
Add jquery and jquery-notebook.js to your page:
<script type="text/javascript" src="src/js/libs/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="src/js/jquery.notebook.js"></script>
Create the editor:
<div class="my-editor"></div>

That's it!

Available Commands

  • Ctrl/Command B - Bold
  • Ctrl/Command I - Italic
  • Ctrl/Command U - Underline
  • Ctrl/Command F1 - Header 1
  • Ctrl/Command F2 - Header 2
  • Ctrl/Command Z - Undo


These are the supported options and their default values:

$.fn.notebook.defaults = {
    autoFocus: false,
    placeholder: 'Your text here...',
    mode: 'multiline', // multiline or inline
    modifiers: ['bold', 'italic', 'underline', 'h1', 'h2', 'ol', 'ul', 'anchor']


  • contentChange: Fires every time the editor's content is modified:
// Using jQuery:
$('.my-editor').on('contentChange', function(e) {
    var content = e.originalEvent.detail.content;

// OR using the event directly:
var editorDomElement = $('.my-editor').get(0);
editorDomElement.addEventListener('contentChange', function(e) {
    var content = e.detail.content;


We use Github Issues to do basically everything on this project, from feature request to bug tracking. There are a few issues marked as easy picking. These issues are ideally suited for someone who wants to start contributing as they are fairly simple.

To contribute to this project just fork the repository, create a branch with a descriptive but brief name and send a pull request when ready. There is no need to squash your commits before sending a pull request. After a few accepted and merged pull requests you can request push rights to the repository if you want to.

Please use 4 spaces for indentation. Any pull requests that has any JavaScript code with a different indentation will be rejected.