Как выглядит раздел плагинов в вашем файле app.yml? Вы используете правильный плагин или случайно дублируете TC и плагин? Убедитесь, что вы используете точную ветку для sidecar.
Мне удалось запустить плагин локально. Я думаю, проблема была в том, что, как вы и указывали, я сначала начал с компонента темы, а затем отдельно добавил плагин. Я удалил компонент темы, но не перезапустил сервер после этого удаления — похоже, что TC и плагин дублировали работу. Теперь, используя только плагин, всё работает без ошибок.
Итак, когда я редактирую метаданные темы, я вижу кнопку «Выбрать эскиз». Похоже, что в этом модальном окне для выбора отображаются только изображения, добавленные локально. Если я добавлю изображение из интернета в тему, оно не появится в модальном окне для выбора. Так ли это?
Я понимаю, почему это может быть так, но проблема в том, что если для превью-эскизов требуется, чтобы изображения были добавлены локально, значит, эти изображения должны храниться на моём сервере. С новым потенциальным изображением для каждой темы это может стать дорогостоящим. Я надеялся, что существует способ, позволяющий пользователям добавлять ссылки, и чтобы изображения по этим веб-ссылкам использовались в качестве эскизов для превью тем.
Есть ли какое-то обходное решение? Или какой-то способ получить эскизы превью в списке тем без необходимости хранить эти изображения на моём сервере?
Обойти это невозможно. Это естественное поведение системы при работе с изображениями. Все изображения должны быть загружены. Вы можете настроить использование внешнего места для загрузки, но файлы всё равно нужно загружать, а не ссылаться на них удалённо с вашей инфраструктуры.
Спасибо. Это имеет смысл. Похоже, чтобы изображение могло стать миниатюрой превью темы, оно должно фактически присутствовать в теме. Так ли это?
Я могу представить, что пользователи хотели бы иметь определённую миниатюру для своей темы, но не хотели бы, чтобы она отображалась в тексте темы.
это не поддерживается
Понял. Это крайне полезный плагин. Он сэкономил мне много времени!
Я обнаружил две ошибки в этом плагине.
-
Если в теме на моём форуме Discourse нет загруженных изображений, но есть связанные изображения (например, с атрибутом
src, указывающим на другие сайты или CDN), то этот плагин не обнаруживает такие изображения и не отображает их в ленте тем. Изображения в ленте тем показываются только в том случае, если они загружены непосредственно на мой форум. Плагин должен также определять первое связанное изображение в первом посте как изображение темы и отображать его в ленте. Мой форум большой, но у меня нет хранилища для изображений, поэтому я храню изображения пользователей на внешних CDN для хостинга изображений и использую ссылки на них для отображения и предпросмотра изображений на моём форуме. -
Чтобы решить описанную выше проблему, я также попробовал использовать сервис случайных изображений, например https://picsum.photos/ или https://source.unsplash.com/random. При каждом обращении к этим URL возвращается случайное изображение. Я установил такую ссылку в качестве изображения по умолчанию для миниатюр, но этот плагин отображает одно и то же изображение многократно, вместо того чтобы показывать уникальное изображение для каждой темы в качестве изображения по умолчанию.
Выглядит это так: видно, что изображение с девушкой из йоги отображается, потому что пользователь загрузил его на наш сайт, но все остальные темы также содержат ССЫЛКИ НА ИЗОБРАЖЕНИЯ через CDN, однако они не отображаются в предпросмотре. Вместо этого показывается одно и то же изображение, полученное либо с https://source.unsplash.com/random, либо с https://picsum.photos/200.
Даже сам Discourse загружает свои изображения на внешние CDN, например: https://d11a6trkgmumsb.cloudfront.net/original/3X/6/4/64dff560b7c63a2c11c20374ec3427e2ac558437.png
Поэтому этот плагин должен поддерживать чтение и обнаружение удалённых изображений тем, которые загружены на внешние сайты через CDN, но находятся в первом посте и являются первым изображением в теме.
Кроме того, при публикации тем в социальных сетях теги Open Graph также не обнаруживают изображение: вместо картинки показывается только логотип сайта, даже если тема содержит реальное изображение по теме, которое является просто связанной удалённой картинкой.
Как мне решить эти проблемы? Есть ли способ добавить случайное число в URL, чтобы при каждом запросе формировался уникальный адрес, и тогда для каждой темы всегда отображалось бы уникальное изображение?
Мою проблему можно легко решить, если вы включите функцию автоматического обнаружения связанных изображений (изображений с атрибутом src из внешних CDN) в первом посте и использования первого изображения в качестве изображения темы, отображаемого на главной странице.
Может ли кто-нибудь помочь?
Что вы имеете в виду под этим? Вы размещаете все свои изображения у одного провайдера S3 и получаете к ним доступ через указанный CDN?
Используете ли вы сервис, перечисленный здесь? Configure an S3 compatible object storage provider for uploads
В противном случае ваш вопрос несколько выходит за рамки этого плагина. Topic List Previews просто использует базовую архитектуру Discourse для отображения эскизов. Изображения, используемые для создания эскизов, должны быть загружены локально или в выделенное внешнее хранилище, указанное в настройках сайта. Другие источники не поддерживаются. Процесс создания эскизов является частью ядра Discourse и будет работать только с этими источниками.
Изображение-заглушка по умолчанию, конечно, может находиться в любом общедоступном месте, но это единственное исключение.
Публичный тег og для тем должен отражать выбранный эскиз. Это не функция плагина, это также часть ядра Discourse.
Привет, Роберт,
Большое спасибо за быстрый ответ.
Да, это хорошо: изображения должны определяться ядром Discourse, как это делает ваш плагин, даже если они размещены на внешних общедоступных сайтах. Именно это я хочу, чтобы ядро Discourse поддерживало. Где я могу запросить эту функцию?
По сути, все изображения в моих темах загружаются с других внешних общедоступных сайтов, таких как Imgur, https://pixabay.com/ и других бесплатных ресурсов, разрешающих бесплатное использование изображений. Я не использую объектное хранилище.
Поэтому я никогда не загружаю изображения на свой собственный сервер Discourse, чтобы сэкономить на расходах на хранение.
Я использую сторонние бесплатные хостинги изображений для отображения своих картинок. Позвольте мне объяснить.
Например, посмотрите эту тему: How Many Carbs on Keto? - How To Discuss
Например:
Первое изображение на самом деле загружается с Imgur. Вы можете увидеть его исходный код.
Его реальный URL изображения: Imgur: The magic of the Internet
Аналогично, в этой теме: How to do Handstand yoga? - How To Discuss
изображение фактически размещено по этому URL; вы можете увидеть его исходный код в моей теме:
Итак, во всех этих случаях я сталкиваюсь с двумя проблемами:
-
Эти внешние изображения не определяются и не отображаются как миниатюры тем в плагине предпросмотра тем, как вы можете видеть на моей главной странице прямо сейчас: https://howtodiscuss.com/, хотя у всех моих тем есть изображения. Но он не обнаруживает эти изображения.
-
Кроме того, когда я делюсь своими темами в социальных сетях, таких как Facebook, Twitter, LinkedIn или Skype, или где-либо еще, мета-тег OG не использует мой внешний src изображения, поэтому происходит откат, и в ссылке для обмена темой всегда отображается логотип моего сайта вместо фактического изображения темы, которое должно показываться в предпросмотре в социальных сетях.
Например, посмотрите здесь пост в Facebook: вы можете увидеть, что у темы действительно есть картинка, но она всё равно всегда показывает логотип моего сайта как изображение по умолчанию ![]()
Вы можете проверить мои URL здесь, чтобы увидеть проблему: Social Share Preview of howtodiscuss.com - Social Share Preview – Check social media link previews
У тем есть изображения на внешних общедоступных сайтах, но всё равно всегда происходит откат к логотипу моего сайта. Мне не нужно такое поведение.
Мой друг также использует Discourse, и плагин предпросмотра списка тем сталкивается с теми же проблемами @Bcat.
Как мне это решить? Возможно, я могу добавить принудительный мета-тег OG к HTML моих тем с src изображения внешнего удаленного CDN? Как мне это сделать? Чтобы сайты социальных сетей и этот плагин предпросмотра тем могли обнаруживать и отображать изображения моих тем на моей главной странице.
Можете ли вы сказать мне, как я могу изменить или переопределить общедоступный тег OG для каждой моей темы, чтобы он обязательно использовал эти общедоступные изображения в качестве миниатюр тем?
Для генерации миниатюр необходимо использовать локальную загрузку или нативную интеграцию с S3 в Discourse. Других источников не поддерживается (за исключением изображения-заглушки, которое является очень поверхностным и не повлияет на ваш og-тег).
Вы можете обсудить это с командой Discourse здесь или создать тему с тегом #feature.
@merefield Время обновлений!
Есть ли какие-либо известные проблемы?
Проблем не встречал, Барт. Как продвигается сборка на тестовом сервере? ![]()
После последнего обновления у нас появилась пустая главная страница. Что-то не так с предпросмотром тем в неофициальном плагине списка тем. Поэтому мы его отключили, и всё работает нормально. У кого-то была такая же проблема или есть решение? Спасибо.
Спасибо за отчёт. Вчера я исправил плагин Locations с похожей проблемой. Я посмотрю.
Не могли бы вы пересобрать проект и подтвердить исправление?:
К сведению, чтобы не запутать, я также применил это исправление к TC: COMPATIBILITY: removed deprecated routes · merefield/discourse-tc-topic-list-previews@b8f1a78 · GitHub
Информация для всех, кто собирается обновляться и использует TC с плагином-помощником: обязательно обновите TC перед обновлением. Когда я обновлял ядро и плагины, у меня остался пустой экран и появилась эта ошибка:
Мне удалось зайти в безопасном режиме, обновить TC, и теперь всё в порядке!
Да, хороший совет, спасибо, Дэвид.
Привет, Роб! Я заметил, что миниатюры отображаются в категории «Персонал», хотя эта категория не включена в настройке topic list tiles categories. Я вижу это на всех своих сайтах с разными конфигурациями. Это ограничение или баг?
Мне не удалось воспроизвести эту проблему. Вы обновляли систему после 5-го числа?






