Возможно ли по умолчанию показывать полный текст поста?

@simon

Возможно ли по умолчанию отображать полное содержимое поста, не нажимая кнопку «Показать полный пост»?

Я задал этот вопрос, потому что некоторые RSS-ленты содержат кодировку в своих потоках. В посте отображается много нежелательного содержимого.

Но как только пользователь нажмёт кнопку «Показать полный пост», встраиваемое содержимое отображается корректно.

Да, это можно сделать, сняв флажок с настройки сайта «Обрезать встраиваемые сообщения».

Я пробовал отключать «embed truncate» в настройках постов в последние несколько дней, однако это не даёт того же результата, что и нажатие кнопки «Показать полный пост».

Вот пример:
https://hint-pot.jp/archives/category/hobby/feed

Отключение настройки «Embed truncate»:


Отображается текст внутри тега <content> RSS-ленты.


Включение настройки «Embed truncate»:


Контент после нажатия кнопки «Показать полный пост»:


Отображается реальный веб-контент в соответствии с правилами белого списка.

Я опасался, что это может произойти. При нажатии кнопки «Показать полный пост» Discourse извлекает содержимое страницы с веб-сайта, связанного с элементом ленты. То, что вы видите при отключении параметра embed truncate, — это результат разметки, которая поступает непосредственно из RSS-ленты. Похоже, что в RSS-ленте есть повреждённая разметка, из-за чего всё отображается именно так.

Самый простой способ подтвердить это — открыть URL RSS-ленты напрямую в вашем браузере и посмотреть на её разметку. Думаю, вам стоит обратить внимание на содержимое между тегами <description>.

Спасибо за быстрый ответ. :grinning:
Я также попробовал другую ленту без странной разметки.
Вот пример из другой ленты:
https://grapee.jp/category/animal/feed

Отключение «Обрезать встраивание»:

Сломанное изображение — это известная проблема, вызванная тегом <p>. Её можно исправить вручную, следуя инструкциям из этого сообщения.
Но главная проблема в том, что отображается лишь очень короткое описание из RSS-ленты, а не весь контент веб-страницы.


Включение «Обрезать встраивание»:

Не отображается никакого контента, кроме ссылки на исходный источник.


Нажатие кнопки «Показать полный пост»:

Отображается правильный контент веб-страницы в соответствии с правилами белого списка.


Как вы думаете, возможно ли отображать полный контент поста по умолчанию, без необходимости нажимать кнопку «Показать полный пост»? :thinking:

Или, возможно, можно настроить Discourse так, чтобы он всегда извлекал содержимое страницы с веб-сайта, связанного с элементом ленты? :thinking:

Этот канал предоставляет только фрагмент полного сообщения. Вот почему вы видите только фрагмент, когда настройка embed truncate отключена.

Если вы включите настройку сайта embed truncate, Discourse попытается извлечь полное содержимое сообщения по его URL. Если в сообщении есть повреждённый HTML, Discourse не сможет извлечь его содержимое. В таких случаях нажатие кнопки «Показать полное сообщение» не приведёт к его отображению. При этом пользователь не получает сообщение об ошибке, объясняющее проблему. Возможно, в таком случае следует выводить сообщение об ошибке.