HTML удаляется из содержимого при watch/replace, но не при прямой записи

Не знаю, является ли это настоящим багом. Но Discourse ведёт себя непоследовательно, так что? В целом это может быть и запрос на новую функцию, и вопрос по поддержке, и просьба о помощи — чтобы модераторы и администраторы знали, что делать :wink:

Проще показать, что я делал и что получил.

Я писал пост о тренировках/беге, и термин VO2max писать скучно. Можно было оставить так, но правильно было бы VO2max — я использовал тег <sub></sub>

Я люблю, когда всё просто и автоматизировано, поэтому добавил «VO2max» в список отслеживаемых слов как простую замену на форму VO<sub>2</sub>max.

Вы, наверное, догадываетесь, что произошло. Discourse преобразовал это в форму VO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;max. Вот как пост выглядел:

Но в превью (excerpt) тег отображался правильно, как если бы HTML был разрешён:

Если/когда Discourse будет удалять HTML-теги, должно ли это происходить везде, включая превью? Или проблема в предпросмотре темы, который тоже используется?

И если превью может «видеть» сквозь кодирование, почему пост не может?

На самом деле мне всё равно, показываются ли HTML-теги или нет, в зависимости от того, где они находятся :joy: но можем ли мы считать багом ситуацию, когда я не могу использовать HTML-теги с функцией отслеживания/замены, но могу использовать те же теги напрямую в редакторе? Иначе я не по теме…

1 лайк

Я не уверен, что функция «Следящие слова» была разработана для работы с HTML… хотя вы правы, что такая несогласованность выглядит немного странно.

В качестве обходного решения, вместо <sub>2</sub> можно использовать символ подстрочной двойки из Unicode: VO₂max. Я предполагаю, что это будет работать гораздо надежнее.

5 лайков

Насколько я знаю, это немного сложно, потому что я пишу в основном на iPad с клавиатурой Logitech — и «сложно» в том смысле, что я знаю, как это сделать на своём ноутбуке с Windows, но эта маленькая клавиатура в стиле Apple довольно требовательна :wink:

Я имею в виду, что можно добавить отслеживаемое слово, которое будет заменять

VO2max → VO₂max

Поскольку HTML отсутствует, думаю, что функция отслеживания слов будет работать нормально.

5 лайков

Боже, я иногда такой медлительный :man_facepalming:

Конечно. Спасибо. Это решило мою реальную проблему, остальное — ваша головная боль…

3 лайка

Это работает идеально!

По крайней мере, 20 символов…

Ну, этот HTML-тег — действительно мелочь, но функция замены должна позволять всё, что… разрешено. Однако могут существовать и технические ограничения. Возможно, именно поэтому нам приходится использовать что-то вроде Linkify для автоматического создания ссылок?

Переношу это в #feature. Я согласен, что здесь есть некоторая проблема с последовательностью, и нам, вероятно, стоит более четко обозначить, что происходит.

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

1 лайк