Добавление переносов строк между элементами списка при вставке Markdown

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

Например, когда я копирую простой список из текстового редактора:

* foo
* bar
* baz

…а затем вставляю его в новую тему, я получаю:

Я подтвердил, что это происходит при вставке в этот Discourse, даже прямо здесь, в этом поле ввода текста, вот так:

  • foo

  • bar

  • baz

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

О, я только что вспомнил кое-что. Интересно, делает ли он то же самое для нумерованных списков?

  1. foo

  2. bar

  3. baz

…да, точно.

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

foo
bar
baz

…превращаясь в три отдельных «абзаца»:

foo

bar

baz

РЕДАКТИРОВАНИЕ:

(Выделено мной). Ой. Я не прочитал достаточно внимательно. Вы даже включили это в заголовок. Извините.

исходный ответ

Под словом «discourse» вы имеете в виду этот сайт или какой-то другой?

Если вы администратор сайта на платформе Discourse, вас может заинтересовать следующая настройка сайта:

традиционные разрывы строк в Markdown

Использовать традиционные разрывы строк в Markdown, для которых требуются два пробела в конце строки.

Что ж, это происходит здесь и на нашем инстансе: https://opennms.discourse.group

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

В процессе поиска я обнаружил опцию «включить вставку форматированного текста» и могу подтвердить, что её отключение решает проблему. Получается, что включение этой опции портит разметку Markdown, хотя, по идее, она должна работать только с HTML?

Первая мысль, которая пришла в голову: вы уверены, что это не HTML? То есть, когда текст копируется в ваш буфер откуда-то, он всё ещё в формате Markdown или сначала Markdown был преобразован в HTML, а теперь система пытается обратить это преобразование?

Просто случайная мысль, вероятно, это ошибка. Но существует так много IDE и текстовых редакторов, которые по сути являются окнами браузера… :thinking:

Это VSCode с включённым плагином Markdown All In One (на Mac). Всё работало до нескольких месяцев назад, полагаю, что что-то изменилось в коде или в экземпляре Discourse, но точно сказать, когда именно, не могу. VSCode, конечно же, обновлялся миллиард раз с тех пор. Насколько я могу судить, при копировании это просто «обычный» текст. Не знаю, как отладить эту проблему…

Вы можете скопировать и вставить текст в формате Markdown из других редакторов и посмотреть, даст ли это те же результаты в Discourse. :sunglasses:

Похоже на запрос в службу поддержки.

Думаю, плагин Markdown All in One помещает в буфер обмена несколько элементов: мы берём HTML, а затем конвертируем его в Markdown.

Не уверен, как именно решить эту проблему. Похоже на баг в том плагине для VS Code — нужно будет отладить HTML, который он генерирует в буфер обмена.

Вы получаете тот же результат при вставке из чего-то вроде Textmate?