91 lines
3.2 KiB
91 lines
3.2 KiB
1 year ago
|
# Summernote
|
||
|
|
||
|
Super simple WYSIWYG Editor.
|
||
|
|
||
|
[](http://travis-ci.org/summernote/summernote)
|
||
|
[](http://badge.fury.io/js/summernote)
|
||
|
[](https://gemnasium.com/summernote/summernote)
|
||
|
[](https://coveralls.io/github/summernote/summernote?branch=develop)
|
||
|
|
||
|
[](https://saucelabs.com/u/summernoteis)
|
||
|
|
||
|
### Summernote
|
||
|
Summernote is a JavaScript library that helps you create WYSIWYG editors online.
|
||
|
|
||
|
Home page: <https://summernote.org>
|
||
|
|
||
|
### Why Summernote?
|
||
|
|
||
|
Summernote has a few special features:
|
||
|
|
||
|
* Paste images from clipboard
|
||
|
* Saves images directly in the content of the field using base64 encoding, so you don't need to implement image handling at all
|
||
|
* Simple UI
|
||
|
* Interactive WYSIWYG editing
|
||
|
* Handy integration with server
|
||
|
* Supports Bootstrap 3 and 4 integrities
|
||
|
* Lots of [plugins and connectors](https://github.com/summernote/awesome-summernote) provided together
|
||
|
|
||
|
### Installation and dependencies
|
||
|
|
||
|
Summernote is built on [jQuery](http://jquery.com/).
|
||
|
|
||
|
#### 1. Include JS/CSS
|
||
|
|
||
|
Include the following code in the `<head>` tag of your HTML:
|
||
|
|
||
|
```html
|
||
|
<!-- include libraries(jQuery, bootstrap) -->
|
||
|
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
||
|
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css" />
|
||
|
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||
|
|
||
|
<!-- include summernote css/js-->
|
||
|
<link href="summernote.css" rel="stylesheet">
|
||
|
<script src="summernote.js"></script>
|
||
|
```
|
||
|
|
||
|
#### 2. Target a element
|
||
|
|
||
|
Then place a `div` tag somewhere in the `body` tag. This element will be replaced with the summernote editor.
|
||
|
|
||
|
```html
|
||
|
<div id="summernote">Hello Summernote</div>
|
||
|
```
|
||
|
|
||
|
#### 3. Summernote it!
|
||
|
|
||
|
Finally, run this script after the DOM is ready:
|
||
|
|
||
|
```javascript
|
||
|
$(document).ready(function() {
|
||
|
$('#summernote').summernote();
|
||
|
});
|
||
|
```
|
||
|
|
||
|
For more examples, please visit to [homepage](http://summernote.org/examples).
|
||
|
|
||
|
### API
|
||
|
|
||
|
`code` - get the HTML source code underlying the text in the editor:
|
||
|
|
||
|
```javascript
|
||
|
var html = $('#summernote').summernote('code');
|
||
|
```
|
||
|
|
||
|
For more detail about API, please refer to [document](http://summernote.org/getting-started/#basic-api).
|
||
|
|
||
|
#### Warning - code injection
|
||
|
|
||
|
The code view allows the user to enter script contents. Make sure to filter/[sanitize the HTML on the server](https://github.com/search?l=JavaScript&q=sanitize+html). Otherwise, an attacker can inject arbitrary JavaScript code into clients.
|
||
|
|
||
|
### For contributing
|
||
|
https://github.com/summernote/summernote/blob/develop/CONTRIBUTING.md
|
||
|
|
||
|
### Contacts
|
||
|
* Facebook user group: https://www.facebook.com/groups/summernote
|
||
|
* Summernote Slack: [Join the Summernote Slack community](https://communityinviter.com/apps/summernote/summernote)
|
||
|
|
||
|
### License
|
||
|
Summernote may be freely distributed under the MIT license.
|