В JQuill (или просто Quill), популярной библиотеке WYSIWYG-редакторов, встроенной поддержки Markdown нет. Однако, с помощью сторонних плагинов и кастомизации вы можете добавить Markdown-синтаксис для редактирования текста.
Вот пошаговое руководство, как это сделать:
Если Quill ещё не установлен, установите его через npm или подключите через CDN.
npm install quill
<link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.7/quill.min.js"></script>
Для добавления поддержки Markdown можно использовать плагин, такой как quilljs-markdown.
npm install quilljs-markdown
После установки плагина подключите его к редактору Quill.
<div id="editor-container"></div>
<script>
import Quill from 'quill';
import MarkdownShortcuts from 'quilljs-markdown';
const quill = new Quill('#editor-container', {
theme: 'snow', // или 'bubble'
});
const markdownOptions = {};
new MarkdownShortcuts(quill, markdownOptions);
</script>
Плагин quilljs-markdown поддерживает настройки, которые позволяют определить, какие именно шорткаты Markdown вы хотите использовать.
const markdownOptions = {
shortcuts: {
'**': 'bold', // для выделения жирным
'_': 'italic', // для выделения курсивом
'~~': 'strike', // для зачёркнутого текста
'# ': 'header1', // для заголовка H1
'## ': 'header2', // для заголовка H2
'> ': 'blockquote', // для цитат
},
};
Теперь при вводе Markdown-синтаксиса (например, жирный текст) в Quill он автоматически преобразуется в соответствующий HTML-формат.
Если вам не подходит quilljs-markdown, можно вручную обработать ввод текста и конвертировать Markdown с помощью сторонних библиотек (например, marked.js).
import Quill from 'quill';
import marked from 'marked';
const quill = new Quill('#editor-container', {
theme: 'snow',
});
// Пример обработки текста вручную:
quill.on('text-change', function () {
const rawText = quill.getText();
const html = marked(rawText);
console.log(html); // Сконвертированный HTML
});
Если потребуется помощь с настройкой, дайте знать! 😊