Git Product home page Git Product logo

summernote's Introduction

Summernote

Super Simple WYSIWYG Editor on Bootstrap(3.0 and 2.x).

Build Status

Summernote

Summernote is a javascript program that helps you to create WYSIWYG Editor on web.

Home Page: http://hackerwins.github.io/summernote/

Why Summernote?

Summernote has something specials no like others.

  • Simple UI
  • Interative WYSIWYG editing
  • Handy integration with server

Inspired by

Easy to install

Summernote uses opensouce libraries(jQuery, bootstrap, fontAwesome)

01. include js/css

Include Following code into <head> tag of your HTML:

<!-- include libraries(jQuery, bootstrap, fontawesome) -->
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.min.js"></script> 
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" />
<script type="text/javascript" src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" />

<!-- include summernote css/js-->
<link href="summernote.css" rel="stylesheet">
<script src="summernote.min.js"></script>

If your summernote download is placed in a different folder, don't forget to change file's paths.

02. target elements

And place div tag to somewhere in the body tag. This element will be placed by the visual representation of the summernote.

<div id="summernote">Hello Summernote</div>

03. summernote

Finally, run script after document ready.

$(document).ready(function() {
  $('#summernote').summernote();
});

API

Get HTML code if you need.

var sHTML = $('#summernote').code();

Destroy summernote.

$('#summernote').destroy();

Dependencies

Supported platform

  • Modern Browser (Safari, Chrome, Firefox, Opera, Internet Explorer 9+)
  • OS (Windows, Mac, Linux)

Upcoming Features

  • Responsive Toolbar
  • Table: Handles(Sizing, Selection) and Popover
  • support IE8
  • Clipboard
  • Media Object Selection

Change Log

v0.6 2014-11-XX

  • Plugin system

v0.5.9 2014-09-21

  • Dom Editing: insert(Un)OrderedList, indent/outdent
  • History in a line.

v0.5.8 2014-08-31

  • Remove autoFormatRange option
  • Fixed onChange issues

v0.5.7 ~ v0.5.4 2014-08-29 ~ 2014-08-23

  • Dom editing: insertPara, insertNode

v0.5.3 2014-07-25

  • Extract codemirror.autoFormatOnStart option
  • Bug patch (createLink)

v0.5.2 2014-07-20

  • Air Mode
  • And bug patch (scroll, createLink, ...)

v0.5.1 2014-03-16

v0.5 2013-12-29

  • Support both Font-Awesome 3.x and 4.x
  • CodeMirror as Codeview
  • Insert Video (by cdownie)
  • Support 5 Languages(by hendrismit, tschiela, inomies, cverond)
  • Restructuring: jQuery build pattern

v0.4 2013-11-01

  • Support both Bootstrap 3.0 and 2.x
  • Fullscreen
  • Codeview
  • Image Upload callback

v0.3 2013-09-01

  • Bugs(image upload, fontsize, tab, recent color, ...)
  • Help dialog(keyboard shortcut)
  • Init options(event callbacks, custom toolbar)
  • Resize bar
  • Support IE8 Beta(some range bugs, can't insert Image)

v0.2, 2013-08-01

  • Undo/Redo
  • Image sizing handle and popover
  • Support standalone css
  • Support Multiple Editor
  • Remove jQuery.curstyles dependency

v0.1, 2013-07-01

  • Font style: size, color, bold, italic, underline, remove font style
  • Para style: bullet, align, outdent, indent, line height
  • Image: drag & drop, dialog
  • Link: popover and dialog
  • Table: create table with dimension picker

for Hacker

structure of summernote.js

summernote.js - Renderer.js (Generate markup) - Locale.js (Locale object)
              ㄴEventHandler.js - Editor.js  (Abstract editor)
                                ㄴStyle.js   (Style Getter and Setter)
                                ㄴHistory.js (Store on jQuery.data)
                                ㄴToolbar.js (Toolbar module)
                                ㄴPopover.js (Popover module)
                                ㄴHandle.js  (Handle module)
                                ㄴDialog.js  (Dialog module)
-----------------------------Core Script-----------------------------
  agent.js  (agent information)
  async.js  (aysnc utility)
  key.js    (keycode object)
  dom.js    (dom functions)
  list.js   (list functions)
  range.js  (W3CRange extention)
---------------------------------------------------------------------

build summernote

# grunt-cli is need by grunt; you might have this installed already
npm install -g grunt-cli
npm install

# build full version of summernote: dist/summernote.js
grunt build

# generate minified copy: dist/summernote.min.js, dist/summernote.css
grunt dist

At this point, you should now have a build/ directory populated with everything you need to use summernote.

test summernote

run tests with PhantomJS

grunt test

start local server for developing summernote.

run local server with connect and watch.

# this will open a browser on http://localhost:3000.
grunt server
# If you change source code, automatically reload your page.

Coding convention

Contacts

License

summernote may be freely distributed under the MIT license.

summernote's People

Contributors

hackerwins avatar lqez avatar feryardiant avatar drewcovi avatar n1k1ch avatar devlato avatar hendrismit avatar littlebigbot avatar soomtong avatar e2goon avatar extremefe avatar eleazan avatar hackerlose avatar takyam-git avatar easylogic avatar daewon avatar cdownie avatar bolollo avatar zbigniewmotyka avatar splagemann avatar gshilin avatar ariecupu avatar tschiela avatar martinbertinat avatar lastmirage avatar jginfo avatar babarizbak avatar johnrandom avatar mooyoul avatar lednerb avatar

Watchers

James Cloos avatar Talent Su avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.