Topic List Previews (legacy)

This is now a Theme Component, the plugin is deprecated

The new Topic is Topic List Previews Theme Component - theme - Discourse Meta

GitHub-Mark-32px Repository: get the code here

See further here: Pavilion

sandbox Examples: check out the list further down.

:raising_hand_woman: Request a feature

:bug: Report a bug

:heart: Donate: we are reviewing our donations system. Please check back later :).

:man_technologist: Maintainers: @merefield

Overview

Topic List Previews allows you to:

  • Add images, excerpts, buttons and topic stats to topic list items; and

  • Change the layout and style of topic list items

  • Add ‘Featured’ topics above topic lists and topics.

  • Add User Wall to User’s activity page (aka ‘Portfolio’ Feature).

These settings can be applied to all or selected topic lists on a site-wide or category-specific basis.

This flexible feature-set allows you create a variety of different topic list styles, including

Basic Style

Relevant settings
  • topic list thumbnail
  • topic list excerpt
  • topic list action

Pinterest (Masonry) Style aka ‘tiles’

Relevant settings
  • topic list tiles
  • topic list thumbnail
  • topic list excerpt
  • topic list action
  • topic list thumbnail width
  • topic list thumbnail height

Featured Images

Relevant settings
  • topic list featured images tag
  • topic list featured images count
  • topic list featured width
  • topic list featured height
  • topic list featured title
  • topic list featured excerpt
  • topic list featured order

The main and Discovery settings are in Settings → Plugins. The Category equivalent are in each Category’s Settings.

Examples in the Wild :seedling:

More info:

Much more info available at: Pavilion

Contributors :raised_hands:

Many folks have contributed to the development of this plugin through both feedback and direct development work. In particular:

107 лайков
What plugins do you recommend?
Topic list custom view
Display images with topics list
Embed.ly support
2018: The Year in Review
Is there a 'reddit' style discourse theme / plugin?
Discourse as Homepage/Main
News Plugin :newspaper:
The topic list doesn't need a category column
Move tag to a column
Creating a "Featured Categories" homepage banner
Images in posts versus topic-list-previews
Topic content previews
Image miniatures
Sam's Simple Theme
Inbound links don't show up when topic ID is not included
How would I able to list topics as boxes
Discourse as a simple personal blog engine
2019: The Year in Review
How to have topic description on top page
Alter placement of currently selected Top Menu item
Unable to replace topic-list-item.raw.hbs / topic-list-item.hbr on mobile
This theme (or component) msg doesn't go away
Problems with thumbnails from Soundcloud and YouTube oneboxes
Incomplete topic titles beginning with a number can have odd behavior
Visual Video Forum
Onebox topic previews in the topic list
After updating to 2.8.0.beta8, nothing shows as "read" anymore
MD Topic List component
Deals type website UX
Featured Tiles
Show hearts icon from categories view on each topic
Possible to create a news site with pics and videos
Blog Post Styling
Is there a 'reddit' style discourse theme / plugin?
Unofficial plugins management during updates
Facebook-like User Wall?
2020: The Year in Review
How to access Category custom fields in Plugins
Rotating banners
Using Discourse as a social media platform
Update problem help pls
Heeeelp, blank website after rebuild
Error: PG::UndefinedColumn. Custom field not creating column
Displaying Views in Topic view (with no replies)
Discourse Retort
How can I make a Discourse forum as "reddit like" as possible
Pin your favourite topics to the top
Sam's Simple Theme
Category-specific message or pinned topic
Our solution for blurring NSFW content
How do you add the Category column?
Profile, Feature and Explorer grid galleries and friend option
Facebook-like Feed?
Best way to implement Excerpts in topic list?
Changing sidekiq job urgency
Latest view broken on tablet
Is there a media library for looking at all uploaded Images and their URL?
Set the image used for social network sharing?
Set the image used for social network sharing?
Events Plugin :calendar:
Broken images move to tombstone
Need Help imitating a Theme
In-post links to topics - no longer update to the initial posts title
Discourse Setup for KDE
Migrating from FB Groups to Discourse - help with features/functions
Auto-quoting early posts and why its so needed for big communities
How to make a discourse forum look like forum.glamour.de
How do I show a topic description in category view?
How to move the category into a column in 'Latest'
Category descriptions display hyperlinks, but About category topic previews do not
[PAID] Discourse developer/designer to redesign homepage (tight deadline!)
How can I save a topic for offline access/archive purpose?
Replacing Slack by Discourse
CMS for Discourse

OK, всем пользователям плагина Topic List Previews, пожалуйста, обратите внимание на следующее.

Как безопасно обновляться при использовании наших плагинов:

График обновлений Pavilion

Topic List Previews — один из плагинов с открытым исходным кодом в семействе Pavilion.

В дальнейшем Pavilion будет сосредоточен на обеспечении совместимости основного набора своих плагинов с веткой Discourse Core tests-passed только в течение первых 5 дней каждого месяца.

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

Это новая политика вступает в силу 1 мая 2020 года

Почему мы вводим эту политику

Мы не контролируем изменения в ядре Discourse. Так и должно быть. Однако по мере роста и усложнения наших плагинов становится всё более обременительным гарантировать их работу с каждым обновлением Discourse. Обеспечивать немедленную совместимость становится всё сложнее.

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

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

Как выполнить обновление

Стремитесь обновлять вашу продакшн-инстанцию Discourse (как ядро Discourse, так и наши плагины) в течение первых 5 дней каждого месяца. Сообщайте нам о любых возникших проблемах в соответствующей теме плагина на Meta. В этот период вы получите более сфокусированную поддержку от команды Pavilion по любым проблемам с их плагинами.

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

Для ещё большей безопасности

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

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

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

Спасибо за понимание!

(мы скоро добавим эту заметку о политике ко всем нашим основным плагинам, и я добавил её в начало этой темы).

8 лайков

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

1 лайк

Да, это может быть возможно, если доработать этот шаблон и добавить соответствующие настройки и поддержку маршрутов: https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/templates/components/latest-topic-list-item.hbs

Из-за нехватки места эта задача не была приоритетной. Недавно приоритетом было решение известных ошибок.

Кроме того, мне также нужно зарабатывать на жизнь :wink: Это непростая работа — просто поддерживать работу этого плагина после изменений в ядре. А чем больше функций вы добавляете…

2 лайка

Хорошо, сообщество, продолжая тему из поста от @ozkn, что бы вы предпочли для мета-плиток: иконки или слова?

Например, как сейчас:

или обновить до чего-то более похожего на это?:

  • Оставить буквы
  • Использовать иконки
0 voters
2 лайка

Это, кажется, очевидная тенденция, так что…

Не могу обещать такую быструю реализацию для каждого нового запроса, но это сделано:

image

Приятного использования :tada:

Также я внес несколько мелких исправлений в мобильное форматирование.

5 лайков

Спасибо за быстрый ответ, @merefield

2 лайка

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

После сегодняшнего дня, если вы планируете обновиться, пожалуйста, проверьте совместимость этого плагина в тестовой среде.

В следующем месяце мы повторим период «поддерживаемого обновления» по тому же пятидневному графику.

Спасибо за понимание.

4 лайка

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

Однако это хорошая возможность упростить плагин.

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

Тем временем TLP больше не полностью совместим с самой последней версией Discourse, прошедшей все тесты.

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

Самые серьёзные из выявленных на данный момент проблем:

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

Мне может потребоваться некоторое время… Надеюсь, к началу следующего месяца, а возможно, и раньше, я смогу показать результат.

9 лайков

Не поэтому ли после обновления поля, такие как image_url, не находятся в https://meta.discourse.org/latest.json

Однако при использовании Data Explorer я их нашёл. Так почему же они не сохраняются?

Есть ли способ обработать это вручную, пока ждём обновления?

1 лайк

Помогает ли отключение горячей ссылки?

Обновления могут занять некоторое время. В настоящее время политика Pavilion не предусматривает поддержку производственной среды вне дней с 1 по 5 месяца.

3 лайка

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

В ней отсутствуют некоторые функции, и есть ещё различные проблемы. Используйте её для развлечений, но она не поддерживается (пока что!)

7 лайков

Вчера мне пришлось пересобрать Discourse по другим причинам, и это сопровождалось обновлением. Пока всё работает (мы не используем прямые ссылки на изображения).

Мне нравятся улучшения интерфейса: отображение количества просмотров и ответов в карточках тем — большое спасибо. Также радует, что «сердечки» появляются в нужных местах и выглядят уместно. Точно не знаю, что именно изменилось, но раньше они казались слишком заметными и присутствовали повсюду.

Предложение: сейчас количество «сердечек» относится только к первому сообщению. Возможно ли отображать общее число «сердечек» по всей теме? Это увеличило бы цифры и лучше отражало бы популярность темы (иногда в первом сообщении всего 1–2 лайка, но сама дискуссия очень «нравится» пользователям). Это было бы согласовано с данными о просмотрах и ответах, которые относятся ко всей теме.

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

3 лайка

Это здорово! Значит ли это, что миниатюры теперь будут предоставляться через CDN-URLы S3, а не напрямую из S3?

Огромное спасибо за всю вашу работу над предпросмотром списков тем!

2 лайка

Спасибо!

Это вопрос, который нам нужно прояснить с командой Discourse.

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

Команда Discourse решает, откуда берутся эти расширения и как с ними работать, поскольку компонент темы не содержит API.

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

1 лайк

Спасибо за ваш отличный отзыв!

Не могу обещать, что это будет легко или эффективно, но идея отличная!

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

Другое решение, если у вас много небольших изображений, — увеличить количество столбцов. Это можно сделать просто с помощью CSS.

Или, если вы не имеете в виду вид плиток, вы легко можете использовать CSS, чтобы сделать миниатюры в обычном виде меньше.

1 лайк

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

3 лайка

А что, если меньшие изображения центрировать по вертикали и горизонтали внутри рамки, чтобы соответствовать размеру других постов?

2 лайка

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

Если у вас получится что-то хорошее, пожалуйста, поделитесь.

1 лайк

Изображения в рубрике: это image_url или thumbnails?
Так что решает ли версия компонента темы плагина текущую проблему?

1 лайк