Как использовать только одно окно редактора

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

Я знаю, что есть возможность скрыть предпросмотр, но я надеюсь на то, чтобы то, что отображается в окне предпросмотра, соответствовало тому, что находится в редакторе. Например, когда я выделяю текст жирным, вокруг него не должны появляться четыре звёздочки, а текст должен просто стать жирным.

Надеюсь, я объяснил понятно. Цель — сделать интерфейс менее похожим на работу в Codepen и более похожим на работу в Word.

Возможно ли это?

Этот вопрос вызывал множество споров на протяжении многих лет Search results for 'WYSIWYG' - Discourse Meta

Это обсуждалось снова и снова (даже на прошлой неделе) — заменить редактор на что-то вроде TinyMCE или другой WYSIWYG-системы. Они всегда закрывают тему и ссылаются на другие обсуждения, так что, похоже, в рамках основного проекта этого не произойдёт.

Понятно, разве это нельзя сделать переключаемым?

Это жаль, но спасибо за информацию!

Нет, WYSIWYG не предусмотрено и, скорее всего, никогда не будет.

Возможно, вы просто хотите отключить предпросмотр? Это может помочь: Auto-Hide Post Editor Preview - #2 by Johani

Звучит не так.

Если отключение предпросмотра также превращало бы обычный редактор в WYSIWYG-редактор, то да, однако это не так. Надеюсь, что в будущем можно будет переключаться между двумя типами редакторов, вместо того чтобы навязывать Markdown. Я понимаю, что у Markdown есть свои преимущества, но мы наблюдаем значительное сопротивление его использованию, и это негативно сказывается на пользовательском опыте (UX).

О, извините. Как сказал Стивен, это, скорее всего, не произойдёт. Если вам нужен редактор WYSIWYG, вам, вероятно, придётся использовать что-то другое, кроме Discourse.

Понял, спасибо, что выслушали!

Вот моё резюме проблем, основанное на отобранных постах для контекста. Это может помочь другим понять, почему WYSIWYG (What you See Is What You Get — «что видишь, то и получаешь») редактор не станет частью ядра Discourse:

  1. Официальная позиция заключается в том, что Discourse не будет разрабатывать WYSIWYG-редактор.
    1. Эта позиция не менялась с момента первого запроса на создание WYSIWYG-редактора.
    2. Нет широкой поддержки изменения этой позиции.
  2. Текущий редактор влияет на эту тему двумя способами:
    1. Редактор Discourse относительно сложен.
    2. Редактор Discourse полностью контролируется внутри самой платформы Discourse.
  3. Основная проблема заключается в том, что реализация решений WYSIWYG будет крайне сложной.
    1. В настоящее время не существует надёжного решения.
    2. Все попытки разработать такое решение провалились.
    3. Предлагались альтернативные редакторы, но они не были реализованы.
  4. К сведению: некоторые пользователи хотят противоположного — простого текстового редактора.

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

1.1 Эта позиция не менялась с момента первого запроса на создание WYSIWYG-редактора.

1.2 Нет широкой поддержки изменения этой позиции.

Многие пользователи, вероятно, подавляющее большинство, не имеют необходимости или потребности в её изменении.

2. Текущий редактор.

Текущий редактор влияет на эту тему двумя способами.

2.1 Редактор Discourse относительно сложен

Существует множество причин такой сложности.

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

  1. CommonMark markdown например, **bold** даёт bold
  2. BBCodes, например [b]bold[/b] даёт bold
  3. HTML, например <b>bold</b> даёт bold

2.2 Редактор Discourse полностью контролируется внутри самой платформы Discourse.

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

3. Основная проблема заключается в том, что реализация решений WYSIWYG будет крайне сложной.

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

3.1 В настоящее время не существует надёжного решения.

Это особенно болезненный момент. Не существует надёжного способа перевода между текущим редактором и любым вариантом WYSIWYG.

3.2 Все попытки разработать решение провалились.

Ряд людей начали работу над решением этих проблем, но не дошли до результата.
Например: WYSIWYG Editor Plugin

Вот одна из ранних оценок «на чистом листе» по переходу от Markdown к WYSIWYG:

3.3 Предлагались альтернативные редакторы, но они не были реализованы.

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

Другими словами, замена редактора Discourse сломает существующие экземпляры, поэтому у нас остаётся то же требование: надёжный перевод существующих постов.
Например: Who would prefer a standard wysiwyg to markdown? - #47 by Talin

4. К сведению: некоторые пользователи хотят противоположного — простого текстового редактора.

Некоторые сайты предпочитают простой текст без какого-либо форматирования, предпросмотра и WYSIWYG.

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

Ха-ха, @Remah, вот это я называю исчерпывающим ответом! :).

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

С момента последнего сообщения в этой теме активности не было.

Хорошо, спасибо, что сообщили. Не знал об этом факторе. Также спасибо за отличную статью!

Реальность такова, что форматирование редко требуется. Большинство постов — это обычный текст, как этот.

Если вы хотите скрыть превью, я считаю, что это отличное решение с учётом статистической реальности. Обычный текст правит всем вокруг нас!