Изображения в предпросмотрах тем

Я пытаюсь настроить Discourse как сервер headless API. Мне нужно отображать полный текст темы и изображения на моей собственной целевой странице. Я могу получить полный текст с помощью настройки always_include_topic_excerpts. Однако в отрывке нет изображений.

Погрузившись немного глубже, я обнаружил, что в ExcerptParser.rb есть опции, которые помогут мне удовлетворить мои требования. Если я смогу изменить эту строку в Post.rb, это решит мою задачу: discourse/app/models/post.rb at 1059557ce11c474fdf568571423a88821b072141 · discourse/discourse · GitHub

Как лучше всего поступить? Возможно, создать SiteSetting для этого, аналогично SiteSetting.post_excerpt_maxlength?

В идеале я бы хотел иметь три булевых параметра:
post_excerpt_markdown_images
post_excerpt_strip_images
post_excerpt_strip_links

Спасибо за вашу помощь!

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

Привет, Крис, спасибо за ответ. Мне нужен полный текст темы при запросе к /latest.json. По умолчанию возвращается только заголовок темы, за исключением некоторых постов (объявлений?), где также возвращается отрывок. При включённой настройке always_include_topic_excerpts я могу получить полный текст, за исключением ссылок и изображений. Я ищу способ включить ссылки и изображения в отрывок.

Создан черновик PR для получения ранней обратной связи: FEATURE: Add site settings for images and links in excerpts by nrchandan · Pull Request #9799 · discourse/discourse · GitHub

Я не совсем понимаю, но хотел бы обсудить: убрать все ссылки и изображения или добавить их?

Привет, @Bcat, я постараюсь сделать скриншоты «до» и «после» в ближайшее время.

Спасибо за черновой PR @chandan.gupta, но мы намеренно удаляем изображения из кратких описаний.

Кроме того, мы не добавляем дополнительные настройки сайта без большого спроса на них. Если вам действительно нужно это на вашем сайте, я предлагаю создать для этого плагин.

Спасибо, @Johani, нет проблем. Это логично. Значит, это тоже можно реализовать с помощью плагинов, верно?

Вы могли бы сделать это через плагин, но это внесет беспорядочные изменения: вы будете бороться с настройками по умолчанию ядра, что приведет к непредвиденным последствиям.

@sam, было бы сложно добавить к /latest.json возвращение posts[0].raw или posts[0].cooked? Так нам не пришлось бы использовать «excerpt» в качестве обходного пути, и это полностью удовлетворило бы наши потребности. Можешь подсказать, где найти информацию для реализации этого? Я понимаю, что это потребует значительно больше обращений к базе данных, но меня это устраивает с точки зрения производительности.