quilljs-markdown
Version:
Markdown for Quill Editor
234 lines (175 loc) • 4.7 kB
Markdown
[](https://standardjs.com)
QuillJS Markdown shortcut Extension.
[](https://www.npmjs.com/package/quilljs-markdown)
[](https://cloverhearts.github.io/quilljs-markdown/)
Wrote Library with ES6 and Standard Javascript Codestyle.
```
npm i quilljs-markdown
```
or
```
<script src="https://cdn.jsdelivr.net/npm/quilljs-markdown@latest/dist/quilljs-markdown.js"></script>
```
```javascript
import Quill from 'quill'
import QuillMarkdown from 'quilljs-markdown'
import 'quilljs-markdown/dist/quilljs-markdown-common-style.css' // recommend import css, @option improve common style
const options = {
theme: 'snow'
}
document.addEventListener('DOMContentLoaded', () => {
const editor = new Quill('#editor', options)
const markdownOptions = {
/**
ignoreTags: [ 'pre', 'strikethrough'], // @option - if you need to ignore some tags.
tags: { // @option if you need to change for trigger pattern for some tags.
blockquote: {
pattern: /^(\|){1,6}\s/g,
},
bold: {
pattern: /^(\|){1,6}\s/g,
},
italic: {
pattern: /(\_){1}(.+?)(?:\1){1}/g,
},
},
*/
};
// markdown is enabled
const quillMarkdown = new QuillMarkdown(editor, markdownOptions)
// markdown is now disabled
// quillMarkdown.destroy()
})
```
Javascript 2 (Enable to Standard style for Quilljs)
```javascript
import Quill from 'quill'
import QuillMarkdown from '../src/app'
const toolbarOptions = [
['bold', 'italic', 'underline', 'strike'],
[ 'link', 'image'], // add's image support
];
const options = {
theme: 'snow',
modules: {
toolbar: toolbarOptions,
QuillMarkdown: {
ignoreTags: [ 'pre', 'strikethrough'], // @option - if you need to ignore some tags.
tags: { // @option if you need to change for trigger pattern for some tags.
blockquote: {
pattern: /^(\|){1,6}\s/g,
},
bold: {
pattern: /^(\|){1,6}\s/g,
},
italic: {
pattern: /(\_){1}(.+?)(?:\1){1}/g,
},
},
}
}
}
document.addEventListener('DOMContentLoaded', () => {
console.log('HOHO')
Quill.register('modules/QuillMarkdown', QuillMarkdown, true)
new Quill('#editor', options)
})
```
HTML
```html
<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
<script src="https://cdn.jsdelivr.net/npm/quilljs-markdown@latest/dist/quilljs-markdown.js"><script>
<link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/quilljs-markdown@latest/dist/quilljs-markdown-common-style.css" rel="stylesheet" >
<script>
document.addEventListener('DOMContentLoaded', () => {
var quill = new Quill('#editor', {
theme: 'snow'
});
var markdownOptions = {
ignoreTags: [ 'strikethrough'], // @option - if you need to ignore some tags.
tags: { // @option if you need to change for trigger pattern for some tags.
blockquote: {
pattern: /^(\|){1,6}\s/g,
},
bold: {
pattern: /^(\|){1,6}\s/g,
},
italic: {
pattern: /(\_){1}(.+?)(?:\1){1}/g,
},
},
};
new QuillMarkdown(editor, markdownOptions)
})
<script>
```
Call `destroy()` to remove the event listener and disable markdown support:
```
const quillMarkdown = new QuillMarkdown(editor, markdownOptions)
// markdown is enabled
quillMarkdown.destroy()
// markdown is now disabled
```
To re-enable support, create a new instance.
Pasting the Markdown form,
Shows the corresponding Markdown result.
```markdown
```
```markdown
> blockquote text
```
```markdown
**Bold Text**
__Bold Text__
```
```markdown
*Italics Text*
_Italics Text_
```
```markdown
[](https://link_url)
```
```markdown
`inline code block`
```
&
code block<br>
&
```markdown
1. one
2. two
3. three
* one
* two
* three
```
```markdown
~~Strikethrough~~
```
```markdown
[ ] checkbox
[] checked
```