После сохранения содержимого поста он отображается примерно 4 мс в отрендеренном посте, затем на 2 мс появляется кружок загрузки, и всё исчезает:
Решения
Если отображение в предпросмотре случайно, а удаление из отрендеренного поста намеренное из-за неизвестных мне соображений безопасности, нельзя ли хотя бы заменить <button> на <button disabled>?
Я спрашиваю, потому что часто вижу неправильное использование <code> и <kbd> там, где семантически уместнее <button>, особенно в руководствах и шагах воспроизведения.
Также возможно разрешить тег только для предпросмотра. Например, элементы управления изображениями используют несколько комбинаций тегов, имён классов и атрибутов.
Вы видите кнопку в предпросмотре, потому что это побочный эффект разрешённого здесь тега.
Однако атрибут disabled игнорируется, так как он не определён.
Я не проверял, как именно обрабатывается список разрешённых элементов; интересно, является ли это ожидаемым поведением. . На данный момент кажется, что тег разрешён независимо от атрибутов. Я бы ожидал, что кнопка не будет отображаться, если вы не используете точно, например, <button class="alt-text-edit-ok btn btn-primary">.
Вы можете создать плагин, который разрешит <button> при рендеринге поста. Дайте знать, если нужна помощь.
@Arkshine, благодарю. Однако я не администратор инстанса. Я просто заметил это при создании контента.
Это один из многих случаев, когда отображение HTML5 и CSS3 в предпросмотре отличается от итогового рендеринга, что затрудняет работу с контентом для Discourse. Особенно это актуально, когда редактирование отключено или ограничено очень коротким промежутком времени для всего инстанса.
К сожалению, в данной ситуации нельзя настроить параметры, поэтому, если вы захотите добавить другой тег, вам потребуется форкнуть мой репозиторий и добавить его самостоятельно здесь.
@Arkshine, нельзя ли это внести в основной репозиторий? Я спрашиваю, потому что это затрагивает каждый экземпляр, который я использую, и просить всех внедрить патч для чего-то столь тривиального для них, вероятно, нереально.
Обычно я создавал бы такую проблему в соответствующем репозитории GitHub, но раздел проблем отключен для Discourse.
Я считаю, что несоответствие между предпросмотром и отрендеренными постами вполне можно рассматривать как #баг.
Решение, вероятно, будет заключаться в том, чтобы блокировать это и в предпросмотре, что означает, что «добавление поддержки <button> в постах» станет валидным запросом на #фичу в будущем