Topic List Previews (legacy)

Это может быть временным решением на данный момент. Прежде чем я опубликую что-либо, мне интересно: кто-нибудь ещё может воспроизвести эту проблему?

1 лайк

Хорошо бы добавить к другому компоненту темы выборщик тегов…

1 лайк

Ещё один вариант на данный момент — просто использовать новый независимый тег?

1 лайк

Да, для начала этого будет достаточно, так как мне нужен только один тег. Спасибо!

2 лайка

Эмодзи, присутствующие в постах, не отображаются в кратких содержаниях, по крайней мере в режиме плиток. Это известная проблема?

2 лайка

Да, это было не в приоритете, но спасибо за напоминание. Теперь в TC исправлено — обновитесь до последней версии! Эмодзи — это круто :upside_down_face:

4 лайка

@merefield Огромное спасибо! Это было так быстро, что я даже подумываю провести скрытый тест Тьюринга. :wink:

2 лайка

Рады видеть, что это решение также перенесено на мобильные устройства и реализовано как компонент темы! Единственное, что у меня не получилось заставить работать — это

Является ли значение ‘true’ здесь правильным? Я пробовал абсолютные и относительные ссылки в поле миниатюры, но изображение не отображалось ни в одном из случаев.

Спасибо за ваши усилия!

2 лайка

Итак, первый параметр работает так: он возвращает представление, если миниатюру в итоге не удалось получить (ссылка не работает). Я считаю, что это работает.

Однако он не добавляет миниатюру там, где её изначально не было.

Это ошибка второго параметра. Я посмотрю.

1 лайк

Это уже исправлено.

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

1 лайк

Круто, спасибо за быстрый ответ!

2 лайка

Привет, Роберт,

мы попытались переключиться на ваш компонент темы, но нам помешала небольшая ошибка: мы не могли настроить уровень разрешения миниатюр в списке тем. Миниатюры всегда использовали оригинальное изображение, из-за чего они искажались. Не могли бы вы взглянуть на это?

Спасибо большое!

1 лайк

Я проверил, и всё, похоже, работает. Можешь предоставить более подробные шаги воспроизведения (STR)?

Запущен ли у тебя Sidekiq? В ядре есть задача, которая теперь создаёт миниатюры. Тебе нужно использовать последнюю версию с прошедшими тестами (для TC, а не для плагина!)

Если ты откроешь /latest.json, например, в Firefox, то увидишь несколько записей для миниатюр в каждой теме, где в первом посте есть изображение. Эти миниатюры доступны благодаря настройке в компоненте темы, которая определяет диапазон вариантов миниатюр, а также благодаря самому коду ядра Discourse. В компоненте темы нет кода, который влиял бы на этот набор доступных миниатюр, кроме указанных настроек.

Однако есть один важный момент: миниатюра по умолчанию предоставляется только в исходном разрешении. Это связано с тем, что она не входит в новый процесс Sidekiq по созданию миниатюр. Тем не менее, ты контролируешь это изображение и можешь намеренно установить его в виде изображения с более низким разрешением. Кроме того, оно загружается один раз и используется многократно.

1 лайк

Отлично, новая функция для компонента темы:

По умолчанию она включена. Отключить можно в настройках компонента темы.

2 лайка

Мне очень нравится эта функция! Единственная проблема, с которой я сталкиваюсь, заключается в том, что она показывает лишь несколько изображений из категории, хотя их достаточно, чтобы заполнить сетку из десяти элементов. Существует ли ограничение по времени, из-за которого отображаются только самые свежие изображения? Вот пример: данные берутся из тега editor-pick. Вы видите, что есть много постов с этим тегом, но отображается только пять, тогда как при переходе к разделу «Последние» показываются все десять.

Кроме того, возвращаясь к нашему предыдущему обсуждению, я сначала понял, что проблема с недоступностью тегов в выпадающем списке вызвана не группами тегов, а тем, что теги ограничены конкретными категориями. Я также осознал, что снятие этого ограничения для тегов не является идеальным решением, поскольку они предназначены для использования только в определённых категориях (именно так я и поступил в своей песочнице на данный момент). Поэтому, если это не слишком сложно, я прошу вернуть прежний стиль выбора категории, где можно вводить название вручную, чтобы обойти это ограничение, так как на мой вопрос об этом никто не отвечает. Спасибо!

1 лайк

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

Я ограничен возможностями API и лимитами пагинации.

Временно попробуйте уменьшить количество записей из другого источника — тогда в этой категории должно появиться больше элементов.

К сожалению, часть массива тратится впустую из-за тем без изображений. Это тоже ограничение API: я не могу получить только темы с миниатюрами за один запрос, если только я не ошибаюсь.

2 лайка

Извините, моя вина! Всё работает отлично. Ещё раз спасибо за ваши усилия!

2 лайка

Отлично, работаем над чем-то захватывающим.

Я создал дополнительный плагин для компонента темы, который добавляет расширенный функционал.

На данный момент я добавил работающий выбор миниатюр в установку на основе компонента темы. Для работы этой функции вам также понадобится этот урезанный плагин. (Пожалуйста, также обновите свой TC.)

Экспериментальный плагин находится здесь:

- git clone https://github.com/merefield/discourse-topic-previews.git -b "theme_sidecar"

Это даёт два преимущества:

  1. Изменяет критерии, которые использует Discourse для определения миниатюр по умолчанию, и принимает более полезные миниатюры меньшего размера, которые иначе были бы отклонены (на мой взгляд, основные критерии слишком ограничительны).
  2. Добавляет рабочий выбор миниатюр в редактор метаданных темы, так что если вас не устраивает выбранный вариант, вы можете заменить его. Функционально это почти идентично оригинальной версии плагина, но теперь он работает с новой логикой генерации миниатюр в Discourse.

Моя цель — сделать компонент темы достаточно стабильным и функциональным, чтобы отказаться от оригинального плагина.

Тогда для базовой установки вам нужно будет просто добавить компонент темы.

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

В целом это сведёт к минимуму необходимость в обслуживании, одновременно предоставив большему количеству людей доступ к предварительному просмотру списков тем.

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

10 лайков

После последнего обновления Discourse я не могу установить миниатюры для постов. Это ошибка?

1 лайк

Очень интересно! Я попробовал его, но вижу только это:

Не уверен, связано ли это с этим:

1 лайк