Получите «raw» пользовательского выбора (без Markdown)

Я понимаю, что quoteState.buffer содержит Markdown-текст, который пользователь выделяет при цитировании, и это один из параметров, передаваемых в плагин-выход quote-share-buttons-before (доступный через this.args.data.quoteState.buffer). Как получить исходный, необработанный текст, который выделяет пользователь, до его преобразования в Markdown? Возможно ли «отменить» Markdown в посте? Реализуемо ли это вообще?

Файл:

Спасибо.

Тест:

  • этот маркер списка — не звезда, а плюс

Вариант решения, который я могу придумать: преобразовать исходный пост в Markdown (как именно — пока не уверен), определить начальный и конечный индексы выделенного фрагмента в преобразованном тексте, а затем использовать эти индексы для извлечения соответствующей части из оригинального текста. Проблема в том, что придётся исходить из предположения, что количество символов не меняется, то есть Markdown заменяет символы один к одному. Surely surely есть более простой способ :thinking:?

Вы посмотрели, как быстро работают «Редактировать» и «Цитировать»? Что происходит с выделенным вами текстом?

В данном случае при копировании цитаты маркированная строка преобразуется в *, хотя я использовал +. Я ищу способ оставить плюс вместо звёздочки.

Да, это ОЧЕНЬ сложно, вероятно, уровень сложности 20.

Когда мы получаем данные из выделения, мы получаем чистый HTML:

<ul>
<li>какой-то текст</li>
</ul>

Здесь ничего нет о различии между * и +.

К тому же, если вы просто выделите несколько элементов из длинного списка, вы получите:

<li>какой-то текст</li>
<li>какой-то другой текст</li>

Это даже не указывает на ul или ol.

То, что мы делаем для цитирования, это:

HTML → Markdown

Это процесс с потерей данных и подверженный ошибкам. У нас есть множество обходных путей для очистки HTML перед конвертацией.

Изменение на:

HTML → Исходный Markdown потребовало бы обратного отображения строки/столбца HTML → Markdown. В настоящее время это не поддерживается в markdown.it.

Ой, это было бы довольно сложной задачей. Ну ладно, но спасибо за объяснение!