Topic List Thumbnails

:discourse2: Summary Topic List Thumbnails allows you to show topic thumbnails in topic list views.
:eyeglasses: Preview Preview on Discourse Theme Creator (blog style)
Preview on Discourse Theme Creator (grid)
Preview on Discourse Theme Creator (list)
Preview on Discourse Theme Creator (masonry)
Preview on Discourse Theme Creator (minimal grid)
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-topic-thumbnails
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Features

Optimized images are generated for the lists, and different resolutions are made available for high-dpi displays. Images are lazy-loaded as you scroll (where native browser support is available).

By default, Discourse will use the first image in the OP of the topic. If you would like to select a different image from the OP, add |thumbnail to the markdown. For example

![alttext|100x100](upload://aaa)
![alttext|100x100|thumbnail](upload://bbb) << this one will be the thumbnail

There are five modes, configurable per category or tag using the theme settings.

For example:

Grid mode:

Masonry mode:

And list mode:

Tips and Tricks

If you want Oneboxes in your posts to generate thumbnails, you will need to turn on this site setting: download_remote_images_to_local. You’ll also need to rebake the relevant posts.

Settings

Name Description
default thumbnail mode Which thumbnail display mode should be used by default
docs thumbnail mode If the docs plugin is enabled, which thumbnail display mode should be used for docs topics
blog style categories The blog-style view will be used in these categories. This style makes use of topic-excerpts if enabled via theme or theme component
minimal grid categories The minimal grid view will be used in these categories
grid categories The grid view will be used in these categories
masonry categories The masonry view will be used in these categories
list categories The list view will be used in these categories
blog style tags
minimal grid tags The minimal grid view will be used for these tags
grid tags The grid view will be used for these tags
masonry tags The masonry view will be used for these tags
list tags The list view will be used for these tags
suggested topics mode Which thumbnail display mode should be used for suggested topics? If blank, will follow the ‘enable outside topic lists’ setting.
enable outside topic lists Enable thumbnails on non-topic-list pages (e.g. user activity, personal messages, suggested topics)
placeholder icon Icon to display on topics without thumbnail images
mobile thumbnails Enable thumbnails on mobile devices
list thumbnail size Base size for thumbnails in the ‘list’ view

:discourse2: Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.

Last edited by @JammyDodger 2024-06-15T22:22:55Z

Check documentPerform check on document:
88 Likes

Wonder where you got the idea for this? :thinking: :smiley:

Absolutely fantastic that core is paying more attention to image delivery and presentation. I like the direction!

(If this doesn’t fully replace Topic List Previews, there is now at least potential to eliminate a lot of bespoke API work from it which I won’t have to maintain anymore, great stuff!)

PS I just tested it and one thing that would be quite nice is if Polls generated a thumbnail so the charts could surface …

36 Likes

This is a great feature. Does this come with Discourse 2.7 as mentioned here? Or is the syntax different?

2 Likes

It’s available in Discourse 2.7 stable, yes. The syntax is the same :slight_smile:

4 Likes

I have a very odd problem that only applies to one member on my site. Some thumbnails do not display, seemingly randomly. It displays the default icon as if there was no image, yet for myself and everyone else the thumbnail displays. I had him look in his console and there is nothing pertinent, nothing in the logs either. I’ve had him try clearing the cache, trying different browsers and devices, and using a different isp. I even had him try a theme with only this component enabled. No matter what he tries this still happens. I even tried impersonating him and then it doesn’t happen for me. Any other thoughts on troubleshooting this? Thanks!

2 Likes

Have him try on mobile with wifi disabled so he’s not going through his home network, but the cellular network. This will eliminate anything on his network from interfering.

But if you have tried “different ISP” then maybe not.

2 Likes

I can’t get this to work anymore, did this revert perhaps?

Also, the feature is not easy to discover for users. Would it be possible to add an option to select the thumbnail to the ‘size selection’ in the preview?

image

5 Likes

Thanks Jeff, he has tried hotspotting to his phone, and at a friends house with a different ISP. I thought it might be a CDN issue so I tried clearing the CDN cache which did not help him. I also tried impersonating him while using a VPN in Atlanta where he is from which did not help either. I’m not sure what else to try.

2 Likes

3 posts were split to a new topic: Caching for tag topic lists?

It’s still working for me. Can you share some more details about what you tried, and what result you’re seeing? This is what I have in my test OP:

![image|690x460](upload://1lGVHoB5KKnftUZoEYVgANxKdWL.jpeg)
![image|612x500|thumbnail](upload://cILOby5v31IEtJtbOEEDgXQPZ7Z.jpeg)

and the second image is correctly selected as the thumbnail.

I agree that would be nice, but I don’t think it would be needed for most sites. I think it would make a great separate theme component.

3 Likes

Ha, that’s embarrassing, of course it does work now… :facepalm:

3 Likes

Hi @david,

I have the following requirement and maybe you can point me to how to achieve this.

Sometimes we have a topic that we want to share via social media and we prepare an image for it that should be used as thumbnail and for the og:image tags, but we don’t want it to be visible inside the topic.

How could we realize something like this e.g. add “hide” to the sizes and then a class is added to the image container that applies “display: none;”?

![image|612x500|hide](upload://cILOby5v31IEtJtbOEEDgXQPZ7Z.jpeg)

3 Likes

Maybe you could use Generic bbcode wrapper for theme components to do something like

[wrap=hidden]
  ![image|612x500|hide](upload://cILOby5v31IEtJtbOEEDgXQPZ7Z.jpeg)
[/wrap]

Then some CSS like

div[data-wrap="hidden"]{
  display: none;
}
8 Likes

Oh, did not know about this one. Neat, thank you!

2 Likes

The alert-info banner overlaps the thumbnails, is this by design or a bug?

3 Likes

It’s somewhat by design. Normally, that bar sits on top of the column headings in the topic list. The alternative would be for the bar to “push down” all the topics when it appears, which would make the entire UI jump down, and could be quite jarring.

I’m not sure why there is a ~1px gap on the right hand side of the bar in your screenshot. That could be an issue with the component, or it could be related to your custom theme CSS.

4 Likes

Is it possible to show the number of likes on the thumbnail cards + make it clickable so images can be liked straight from the gallery view?

4 Likes

list categories is not working on mobile mode even when check Enable thumbnails on mobile devices ?

2 Likes

Hi, it is pretty cool.
Is it possible to use the hotlink figure (from imgur for example) as thumbnail?

2 Likes

hi I just set the blog category to use list categories, but it shows in every categories, have I did some wrong set step?

2 Likes