Интересное

Обзор лучших WYSIWYG-редакторов

Рассматриваем лучшие текстовые WYSIWYG-редакторы, которые можно встроить на сайты и в веб-приложения. Полнофункциональные, быстрые и красивые модули, которые добавят в ваш проект отличный инструмент для работы с текстом.

Сделаю небольшое отступление по поводу WYSIWYG: эта аббревиатура расшифровывается как What You See Is What You Get. Речь идет о типе редакторов, отображающих создаваемый контент в том виде, в котором он по итогу будет размещен на странице или в приложении, без необходимости делать дополнительные преобразования и обработку данных.

Editor.js

Бесплатный блочный редактор контента, который можно легко встроить на любой существующий сайт и использовать по умолчанию без ограничений.

Контент, вводимый в редактор, поддерживает блочную структуру, что многим пользователям покажется наиболее привычным и удобным способом отображения информации (схожим с таковым в других WYSIWYG-редакторах, наподобие того же Gutenberg в WordPress).

В отличие от большинства других WYSIWYG-редакторов, информацию из Editor.js можно экспортировать в JSON-формате, а затем конвертировать для использования на веб-страницах, в мобильных приложениях или даже для преобразования в аудио.

Редактор предлагает разработчикам доступ к большому количеству API, с помощью которых можно значительно расширить функциональность Editor.js или добавить поддержку сторонних сервисов. Например, добавить новый тип блоков, который содержит в себе не только текст и медиаконтент, но и сниппет с твитом, интерактивное голосование или пост из Инстаграма.

Скачать Editor.js 

Slate

Утилита для работы с текстом, полностью написанная на JavaScript и подключаемая к сторонним ресурсам в качестве альтернативы малофункциональному тегу <textarea>.

Slate умеет все, что необходимо уметь подобному приложению:

  • В нем можно редактировать и форматировать большие объемы текста.
  • Есть поддержка чеклистов и списков разных форматов.
  • Помимо текста, Slate также поддерживает изображения.
  • В текстовое поле можно закрепить ролик с YouTube или пост из Инстаграма.
  • Slate может распознать другой HTML-контент и не создает проблем с совместимостью при экспорте текста в другие приложения.
  • Имеется подсветка кода и подсветка результатов поиска.
  • Есть полноценная поддержка таблиц.

На самом деле, возможностей у Slate намного больше. Есть режим только для чтения, исчезающая панель управления, не отвлекающая от работы с текстом, полная поддержка формата Rich Text, возможность использовать сочетания клавиш из популярных Markdown-редакторов и т.п.

Скачать Slate (приложение подключается вручную)

tiptap

Схожий со Slate WYSIWYG-редактор с одним значимым отличием – он создавался для работы исключительно с фреймворком Vue (и, по сути, является набором компонентов в соответствующем формате).

В tiptap есть полный набор базовых возможностей, которые можно встретить в любом текстовом редакторе. Кнопки для форматирования символов, кнопки для установки иерархии заголовков, базовые блоки в духе цитат, сниппетов кода и прочих привычных мелочей.

tiptap поддерживает работу со списком задач. Без проблем распознает ссылки. В дополнение к тексту может вставлять картинки и таблицы. А тот, кто планирует внедрять tiptap на сайт, посвященный программированию, по достоинству оценит наличие подсветки синтаксиса языков программирования.

Введенный в tiptap текст можно экспортировать в формате HTML или JSON. Но что еще интереснее, в нем есть поддержка расширения для совместной работы над текстовым материалом в реальном времени. Как Teletype в знаменитом текстовом редакторе Atom.

Скачать tiptap (устанавливается вручную или через пакетный менеджер NPM)

Dante Editor

Очередная попытка создать клон редактора из популярной блог-платформы Medium. Разработчики сделали еще один похожий продукт ввиду отсутствия подходящей альтернативы.

Dante Editor отличается от конкурентов тем, что содержит в себе всю ту же функциональность, что есть в оригинале. Этот редактор стал попыткой воспроизвести все возможности WYSIWYG из Medium в новом бесплатном продукте.

Dante даже визуально похож на то, что предлагает Medium. Он поддерживает современные браузеры, способен отображать все варианты форматирования, доступные в оригинальном редакторе. Проект развивается исключительно за счет разработчиков-волонтеров и сообщества независимых программистов. По словам создателей, он будет активно развиваться и обрастать новыми возможностями.

Редактор подключается через JavaScript, встраивается в веб-страницу с помощью ID с названием editor и моментально превращается в полноценный редактор со всеми возможностями, что есть у Medium.

Скачать Dante Editor

Toast Editor

Toast Editor – это редактор с продвинутой поддержкой Markdown. Toast нельзя назвать классическим WYSIWYG-редактором, потому что предпросмотр контента реализован через отдельный интерфейс.

Отличительная черта этого редактора заключается в графическом интерфейсе, который делится на две части. В левой расположено окно, куда, собственно, пишется текст с поддержкой Markdown-разметки и соответствующих тегов. В правой – превью, в котором видно, как по итогу будет выглядеть ваш текст после экспорта в HTML.

Контент в окне «Превью» обновляется автоматически и динамически меняется при скроллинге страницы. В дополнение к этим возможностям есть подсветка синтаксиса, помогающая находить ошибки и некорректную разметку.

Toast поддерживает различные форматы данных, включая таблицы, блоки с программным кодом и ссылки. Есть и дополнительные модули в духе графиков и схем (их поддержка в редакторе добавляется с помощью плагинов).

Скачать Toast Editor

TinyMCE Editor

Разработчики называют TinyMCE полноценным HTML-редактором, но он не совсем таковым является. Это модульная система для интеграции блоков контента в уже готовые сайты. Она подключается к ресурсам через скрипт со ссылкой на CDN-сервер, где хранятся данные TinyMCE, и дает возможность добавлять на ресурс текстовые материалы вперемешку с другой информацией.

TinyMCE Editor легко интегрируется с популярными фреймворками в духе React, Angular, Vue.js, Bootstrap и jQuery, буквально встраиваясь в их интерфейс в виде нативного программного обеспечения.

Одной из ключевых особенностей продукта, которую выделяют разработчики, является адаптивность. Редактор TinyMCE изначально создавался с прицелом на мобильные устройства и легкую расширяемость (при необходимости). Встроенный редактор можно «прокачать» с помощью плагинов из официальной галереи. Они помогают находить ошибки, быстро редактировать контент и оформлять его в соответствии со своими представлениями о красоте. Один из плагинов позволяет настроить коллаборацию между несколькими пользователями в реальном времени для анализа текстов и их дополнения перед публикацией.

Скачать TinyMCE Editor 

Draft.js

WYSIWYG-редактор, разработанный специально для фреймворка React и включающий в себя набор всех необходимых инструментов для работы с текстом.

У Draft довольно аскетичный интерфейс, отображающий только необходимые элементы в текстовом виде без лишних иконок и прочих отвлекающих визуальных эффектов.

Как и в случае с другими подобными редакторами, контент отображается в виде блоков. Каждый блок содержит определенный тип данных. Это может быть как текст, так и медиаконтент.

Draft исповедует базовые принципы React и строго следует им. Поэтому он легко интегрируется в приложения, созданные с использованием этого фреймворка, а технические аспекты, касающиеся рендеринга или ввода и вывода текста, возводит в абстракцию. Доступ к функциям Draft осуществляется через хорошо задокументированное API. А еще, чтобы избежать утечек памяти и проблем в производительности редактора, здесь используется immutable-js, что выгодно отличает его от конкурентов.

Скачать Draft.js (устанавливается через NPM)

Froala

Идеальный инструмент для тех, кто хочет быстро сверстать сайт, не забивая голову изучением языков, используемых при создании онлайн-ресурсов. 

Особенностью Froala стал продвинутый WYSIWYG-редактор. Создатели Froala называют его самым умным и красивым среди всех существующих. Он порадует высокой производительностью и интуитивным дизайном, в котором легко разобраться даже новичкам.

Для расширения функциональности будущего сайта используются блоки с визуальным контентом на основе Bootstrap. Дополнительные компоненты имеют открытый исходный код и распространяются бесплатно. Также в Froala есть инструменты для быстрого рисования таблиц и схем на базе JavaScript.

Что важно, все компоненты Froala созданы с использованием «чистых» HTML, CSS и JavaScript. То есть их можно редактировать, используя классические инструменты для разработки и верстки.

Начать использовать Froala

CKEditor 4

CKEditor поддерживает перенос текста из других редакторов, таких как Word, Google Docs или Excel, в первостепенном виде. Из Excel можно вытащить всю таблицу, а CKEditor корректно отобразит каждую колонку и позволит редактировать информацию в них.

Редактор по умолчанию позволяет вставлять в текст фотографии, видеоролики, сниппеты с твитами, постами из Инстаграма. Также поддерживаются виджеты, математические формулы и вставка кода с подсветкой. Для CKEditor разработано с десяток плагинов, помогающих автоматически завершить часть текста или заменить его другим контентом.

Все материалы можно редактировать, меняя их размер, положение и другие параметры (дело не ограничивается только текстом). И все это с огромным количеством инструментов для форматирования текста, проверкой орфографии и функцией «Шаблоны», дающей возможность быстро создавать новые материалы, не тратя время на их оформление. 

Скачать CKEditor (можно загрузить в систему, а можно подключить через CDN)

Итоги

На GitHub лежит еще пара десятков похожих редакторов, и их количество растет. Так что разжиться WYSIWYG-редактором сейчас несложно. Описанные выше варианты показались мне наиболее интересными. К тому же большая их часть легко подключается к готовым проектам и распространяется бесплатно. Пробуйте и внедряйте!

Межтекстовые Отзывы
Посмотреть все комментарии
guest

Искусственный интеллект: краткая история, развитие, перспективы

Разработка #Обзор #Технологии #Нейросети #Наука #Гаджеты Сейчас технологии развиваются с немыслимой скоростью. Ранее те возможности, что, казалось бы,...

Что такое скрам-доска

Разработка #Программы #Обзор #Менеджмент #Оптимизация Поговорим об одном из наиболее часто используемых инструментов для повышения эффективности команды.  Что такое...

Push-уведомления: типы, назначение, советы по созданию

Разработка #Конверсия #Интернет-магазин #Веб-дизайн #Продажи Сегодня поговорим о push-уведомлениях. Как они работают, зачем нужны и какими должны быть.  Что такое...

Что почитать программисту: 10 популярных книг по разработке

Разработка #Подборка #Программы #Веб-дизайн #Наука Какую литературу стоит прочитать программисту, чтобы стать более квалифицированным специалистом и превратиться из...

Что такое дополненная реальность

Разработка #Google #Продажи #Технологии #Сервисы Выбирали когда-нибудь кроссовки или диван в интернете? Не очень удобно, верно? Было бы...

Что такое JavaScript: назначение, особенности и сферы применения языка

Разработка #Браузеры #Разбор #JavaScript #HTML/CSS Интерактивные элементы сайтов и мобильных приложений часто выполняются на языке JavaScript. Он хорошо...

Как стать геймдизайнером: начало пути

Разработка #Карьера #Менеджмент #Игры Поговорим о том, кто такой геймдизайнер, чем он занимается и как им стать. Чем...

Строки в Python и методы работы с ними

Разработка #Редакторы кода #Python В одной из прошлых статей я разбирал строки в JavaScript. Теперь пришло время поговорить о...

Что такое User agent и как его изменить

Разработка #Браузеры #Веб-дизайн #Безопасность Во время взаимодействия с браузером пользователь может встретить такое понятие, как User agent. Используется...

Что такое язык программирования

Разработка #C/C#/C++ #Программы #Обзор #Веб-дизайн #Java Программа на компьютере или смартфоне – это последовательность команд, которую создавали с...

Выбор темы для интернет-магазина на WordPress

Разработка #Плагины #Интернет-магазин #Веб-дизайн #Шаблоны #WordPress «WordPress для блога!» — говорили они. «Но ведь… есть плагины и темы…»...

Как создать сайт для учителя

Разработка #Лендинги #Веб-дизайн #Контент #Конструктор Сайт для учителя – это один из наиболее эффективных способов продвигать свои услуги....

Может ли робот обрести сознание? И если обретет, то как мы об этом узнаем?

Разработка #Технологии #Тренды #Нейросети #Наука #Разбор Часть экспертов считает, что люди могут запросто создать разумного робота и понять,...

Что такое виджет и как им пользоваться

Разработка #Веб-дизайн #JavaScript #Оптимизация #Windows Разработчики софта и владельцы сайтов стараются упростить процесс взаимодействия со своим продуктом. Одним из...

Amazon UK: как создать и продвигать свой интернет-магазин?

В последние годы популярность интернет-шоппинга выросла в разы. Возможно, вы хотите стать частью этого мира и начать продавать...

Платформы для интернет-магазина: какую выбрать?

Разработка #Обзор #Интернет-магазин #Bitrix #OpenCart Введение По статистике за 2016 год 30,5 млн жителей России совершают покупки в...

Размещаем бота для Telegram: от выбора хостинга до запуска

Разработка #VDS #Telegram #Боты #JavaScript #Python Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами...

Как безопасно удалить неиспользуемый CSS в WordPress

Разработка #Плагины #WordPress #HTML/CSS #Оптимизация Неиспользуемый CSS – это код, который загружается при открытии страницы, но фактически не...

Основные элементы эффективной стратегии конверсии: UX, SEO и CRO

Автор: Питер Джоубс (Peter Jobes) – контент-менеджер, Solvid Digital. По мере выстраивания онлайн-присутствия бизнеса в интернете, применяемые маркетинговые стратегии...

Двумерные массивы в Python и методы работы с ними

Разработка #Разбор #Python Иногда нам приходится использовать таблицы с данными для решения своих задач. Такие таблицы называются матрицами...