Попробуйте наш новый композер!

Привет, @lindsey.

Не могла бы ты обновить исходное сообщение и добавить это? Я почти сделал это сам, но подумал, что это может показаться невежливым. :person_shrugging:

3 лайка

Где найти опцию для включения богатым редактора? Нашёл только опцию для конвертации форматированного текста в Markdown.

Теперь понятно, почему я не могу найти эту настройку. :persevering_face:

Стоит перенести её в графический интерфейс в качестве переключателя в разделе «Экспериментальное».

1 лайк

Вау, композитор действительно сделал большой шаг вперёд. :clap:

Я заметил несколько мелких недочётов, когда только что использовал его для написания более длинного отчёта с большим количеством копирования, вставки и правок содержимого:

  1. Если вставить ссылку на отдельной строке, а затем добавить после неё текст, она останется в виде отдельного блока (onebox). Похоже, нет способа убрать этот блок и показать ссылку так, как если бы она находилась позже в строке, после нескольких слов. Обходной путь: сначала ввести следующий текст, а затем вернуться в начало строки, чтобы вставить ссылку.

  2. При выделении текста и выборе пункта «Скрыть детали» из меню ваш текст заменяется. В маркдаун-компоненте это просто скрывает выделенный текст. (Смотрите скринкасты ниже)

  1. Я проверю это ещё раз здесь, но в другой теме я использовал скрытые детали: переключатель работает, но по умолчанию содержимое развёрнуто и показывает скрытый текст. По умолчанию оно должно быть скрыто.
Сводка

Я хочу скрыть этот текст

3 лайка

Это «преднамеренно», но я понимаю, что это может сбивать с толку — это установит атрибут open для bbcode в соответствии с тем, что у вас отображается в редакторе.

Открыто по умолчанию

Да

Закрыто по умолчанию

Нет

3 лайка

Ох, я и не знал о такой опции open в bbcode. Мне никогда не нужно было, чтобы они были открыты. Могу подтвердить, что всё работает, как вы и говорили.

1 лайк

Пост был объединен с существующей темой: Шрифт с моношириной в редакторе только для Markdown

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

Мне не нравится идея переключателя типа редактора как долгосрочной функции. Сейчас это имеет смысл для тестирования на meta, но в долгосрочной перспективе это противоречит цели упрощения работы с редактором.

3 лайка

Я заметил несколько проблем с версией форматированного текста:

  1. Когда я создаю пост и добавляю преформатированный текст, я вижу следующее:

а после публикации вижу вот это, то есть совпадения нет, что плохо:

По крайней мере в Markdown мы можем выбирать одну строку или несколько строк с помощью одного или трёх обратных кавычек. Но теперь с опцией моноширинного шрифта (которая мне не очень нравится) возникает некоторый конфликт…

  1. Если я пытаюсь использовать Markdown, в данном случае одну обратную кавычку против трёх, возникает странное поведение. Если сначала использовать одну кавычку, всё работает, а затем, если использовать три кавычки, тоже всё работает:

Но если я сразу попробую использовать три кавычки, получается вот так:

Однако это происходит нечасто, поэтому я не знаю, что именно вызывает такую проблему.

  1. Было бы здорово, если бы в редакторе форматированного текста кнопки «Жирный» и «Курсив» выглядели как «выбранные/нажатые», когда курсор находится в месте, где применяется форматирование. Курсивный текст заметнее, а жирный — менее очевидно. Но самое главное — когда курсор находится не посередине слова, а после него. «Будет ли текст отформатирован, когда мы начнём печатать?»

  2. Это просто предложение: на мой взгляд, сейчас центрирование редактора создания сообщений выглядит немного странно. Что если выровнять его по краям боковой панели и окна справа? Что-то вроде этого:

Мне кажется, что так он будет лучше сочетаться с остальным контентом.

Извините, я не совсем понял.

Это скоро появится:

2 лайка

Я не читал все комментарии, поэтому извините, если я повторяю уже сказанное.

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

  1. Тот факт, что одно нажатие Enter воспринимается как два нажатия Enter в редакторе Markdown, немного раздражает. Думаю, я не впервые вижу такой подход, но если пользователи могут переключаться между редактором Markdown и визуальным редактором, такая несогласованность может запутать. Не все обязательно знают, что Shift + Enter в визуальном редакторе работает так же, как одиночное нажатие Enter в редакторе Markdown.
  2. Если создать заголовок (например, ввести # и пробел), затем набрать несколько символов и удалить их, полоса прокрутки непроизвольно прокручивается вверх. Это происходит только тогда, когда редактор прокручен полностью вниз.
  3. Поддержка добавления обратных кавычек (backticks) в обратном порядке крайне важна. Нередко бывает, что решение добавить обратные кавычки для форматирования приходит уже после ввода слова. Иногда гораздо проще добавить закрывающую кавычку перед открывающей. В текущей версии визуального редактора это не работает. Я постоянно сталкиваюсь с этой проблемой в Microsoft Teams (которая, кстати, является примером ужасно реализованного WYSIWYG-редактора), и это очень раздражает.
  4. При работе с нумерованным или маркированным списком, если курсор находится на строке сразу после завершения списка, нажатие Backspace добавляет новый элемент списка. Это не столько проблема, сколько неожиданное поведение.
  5. При смешивании форматированного кода (с обратными кавычками) и обычного текста невозможно ввести простой текст сразу после форматированного фрагмента при редактировании уже написанного. Это не частый случай, но он иногда случается (например, при форматировании имени переменной, когда сразу после него нужен символ s для множественного числа или апостроф; опять же, нечасто, но я сталкивался с этим много раз).
  6. Нет индикации активного варианта форматирования. Некоторые элементы, например заголовки, отчасти очевидны по размеру курсора, но другие, такие как жирный шрифт, курсив и форматирование кода, — нет. Это частый источник моих разочарований, так как это может привести к тому, что я ввожу текст, а потом вынужден удалять его или исправлять форматирование. Недавний пример: я ввёл форматированный код, а затем удалил всё, потому что передумал, что писать. Затем я попытался добавить ещё одну обратную кавычку, чтобы написать что-то ещё в формате кода, но она отобразилась как символ, потому что редактор уже был в этом режиме и решил, что я хочу ввести сам символ обратной кавычки.
7 лайков

Вероятно, это был сбой, потому что сейчас я не могу воспроизвести эту проблему, либо для такого поведения нужно выполнение каких-то специфических условий. В общем, как вы видите, три обратных апострофа были отображены как текст внутри одного обратного апострофа, отсюда и тёмный фон. Затем, когда я добавил ещё три обратных апострофа сразу под предыдущими (теми тремя, которые отображались как текст внутри одного апострофа), код-блок создался, как и ожидалось. Надеюсь, теперь всё понятно?

Я также только что заметил, что разметка Markdown в режиме «Rich Text» работает не так, как следует. Посмотрите на это: одиночные обратные апострофы не влияют на текст `test`, а три обратных апострофа выполняют свою функцию.

Редакторы по-разному реализуют эту опцию. Например, в Google Docs нажатие Enter создает перенос строки, а в Notion — разрыв абзаца. Однако ваше замечание о необходимости согласованности между режимом Markdown и визуальным редактором справедливо.

Мне не удалось воспроизвести эту проблему с помощью указанных вами шагов. Не могли бы вы предоставить информацию о браузере, более подробные инструкции или запись экрана? Спасибо!

Мы работаем над исправлением того, как работает встроенный код в редакторе, что должно решить эту проблему.

Отличное замечание, я согласен, что это действительно неожиданно. Я сообщу нашей команде о необходимости исправления.

Мы работаем над этим!

5 лайков

И в Discourse есть настройка, переключающая между этими двумя режимами: «Традиционные переносы строк в Markdown» («Использовать традиционные переносы строк в Markdown, для которых требуются два пробела в конце строки»). Поэтому я считаю, что оба редактора должны подчиняться этой настройке.

4 лайка

Её стало трудно найти, и даже после того, как я находил её как минимум пять раз, я всё равно не могу её запомнить, поэтому я добавил её в первое сообщение с предупреждением, что вы делаете это на свой страх и риск.

5 лайков

Есть ли планы пересмотреть известные проблемы плагина shared-edits в связи с этим новым редактором? Как в плане отсутствующих функций (отображение курсоров редактирования других пользователей, включение функции на основе групп и т. д.), так и в плане надёжности (см., например, Shared-Edits Improvements - #18 by Ralf_Stockmann)?

Я всё ещё надеюсь, что нам удастся избежать необходимости разворачивать отдельный сервис типа «Etherpad», например HedgeDoc, для реализации «удобных» совместных редактирований, и вместо этого использовать решение на базе Discourse для нашей интрасети.

Также я рассматриваю возможность написания нового плагина, который обеспечит опыт совместного редактирования «на лету» на основе y.js с нестрогой синхронизацией…

4 лайка

Я бы сказал, что мы пока больше на этапе «мечты», чем «планы» — ProseMirror и богатый текстовый редактор открывают множество возможностей, но сейчас мы в основном сосредоточены на достижении функционального паритета с редактором, работающим только с Markdown, чтобы начать предоставлять эту функцию клиентам. Однако мы об этом думаем и понимаем, что в этой области есть значительный потенциал для улучшений.

6 лайков

Я полностью согласен с вами, Ральф! Это определённо «вишенка на торте», и я не вижу, чтобы разработка этого была чем-то увлекательным, пока новый редактор не будет очень хорошо отлажен.

Это наша плана мечта — в будущем использовать официальные привязки ProseMirror для Yjs. Значительная часть этой работы будет заключаться в создании Connection Provider | Yjs Docs для MessageBus.

8 лайков

Возможно, мы сможем найти способ превратить эти мечты в конкретные планы. Я готов внести серьёзное финансирование — у Discourse есть несколько проблемных мест для использования в нашей профессиональной интранет-среде (ещё одна из них — стабильность push-уведомлений), но я бы предпочёл инвестировать свои средства в этот проект с открытым исходным кодом, чем в что-то вроде Atlassian Confluence.

12 лайков