Code Block Feature

Функция для Lexical-редактора Payload CMS, добавляющая блоки кода с подсветкой синтаксиса, выбором языка и кнопкой копирования.

Сообщество 11 1/нед MIT v0.0.0-alpha.0

Установка

pnpm add payload-code-block-feature

Описание

Эта функция для Lexical-редактора в Payload CMS подключает @lexical/code до выхода официальной поддержки кодовых блоков в @payloadcms/richtext-lexical. Она регистрирует узлы CodeNode и CodeHighlightNode, добавляет в slash-меню пункт "Code Block", который превращает выделенный текст в кодовый блок, и подключает подсветку синтаксиса через registerCodeHighlighting в React-компоненте плагина. При входе курсора в кодовый узел появляется плавающая панель инструментов. В ней есть выпадающий список для выбора языка и кнопка копирования текста блока в буфер обмена. Позиция панели вычисляется относительно активного блока. Конфигурация принимает необязательный колбэк languages. Он получает пары [label, value] по умолчанию и возвращает список для выпадающего списка, так что можно переупорядочить, отфильтровать или расширить поддерживаемые языки. Функция реализована как FeatureProvider и подключается к rich text полю так же, как встроенные функции Lexical. Автор прямо указывает, что это временное решение. Когда @payloadcms/richtext-lexical добавит поддержку кодовых блоков, пакет не будет получать новые функции или тесты. Peer-зависимости: @payloadcms/richtext-lexical ~0.4.0 и payload ~2.4.0, то есть пакет ориентирован на ранние версии Payload 2.x с Lexical. Написан на TypeScript с React-компонентами, включает CSS-стили для панели инструментов, выпадающего списка и кнопки копирования.

О пакете

Имя пакета
payload-code-block-feature
Последняя версия
0.0.0-alpha.0
Размер
40 кБ
Лицензия
MIT
Загрузок в неделю
1
Последняя публикация
10 дек. 2023 г.

Ещё от GeorgeHulpoi

Профиль автора