Olddevs UI3.38.0
Рецепты

Встраивание видео

Ссылка на YouTube при вставке становится Блоком, а в RichTextView его оживляет Остров-плеер.

Автор вставляет ссылку на видео — в Документе появляется Блок с id ролика. В Редакторе это карточка без сетевых запросов, а в Просмотре — плеер, который грузится по щелчку.

Paste a YouTube link into an empty line, e.g. https://youtu.be/aqz-KE-bpKQ

Скопируйте ссылку на YouTube и вставьте её в пустую строку Редактора слева — справа появится кнопка «Play video».

Как устроено

  • Два расширения в одной Части для движка: Node Блока и Extension с handlePaste. Свой обработчик видит вставку раньше Markdown и превращает ссылку в Блок.
  • В Документе только id: атрибут с шаблоном [A-Za-z0-9_-]{11}. Адрес плеера собирает Остров, поэтому подменить его HTML-ом нельзя.
  • plainAtom: true — над выделенным Блоком нет Меню выделения: форматировать в нём нечего.
  • Текст атома — ссылка https://youtu.be/…: getText() и Markdown не теряют видео.
  • Остров не грузит YouTube, пока читатель не нажал «Play»: до этого на странице только кнопка.

На этой странице