Как изменить предпросмотр с помощью JavaScript?

Это как-то связано с моим последним вопросом. Но я создал новую тему, так как это новый вопрос.

Какой лучший способ изменить предпросмотр (который вы видите при создании сообщения) с помощью JavaScript в компоненте темы?

Я знаю, что могу изменить DOM (после его обработки) в decorateCookedElement, но было бы здорово иметь что-то вроде addPostTransformCallback, где можно изменять обработанный пост как строку (через t.cooked). Однако addPostTransformCallback не вызывается при обновлении предпросмотра (только когда вы впервые открываете сообщение для редактирования).

Хотите обновить только превью или также изменить вид опубликованного поста?

Мне интересно обновить и превью, и отправленный пост (но я не хочу сохранять изменения :slightly_smiling_face:).

Беспокоюсь, что если я внесу изменения в DOM (с помощью decorateCookedElement), это будет слишком медленно. Хотя мне нужно провести некоторые тесты, чтобы убедиться, что это действительно так.

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

Этот пост посвящён данной теме: Repackaging a markdown-it extension as a Discourse plugin

Спасибо! Я обязательно это проверю.