fof / discussion-thumbnail
Replace author avatars with the first image in a discussion's starting post
Fund package maintenance!
Website
Installs: 11 158
Dependents: 1
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 3
Open Issues: 0
Type:flarum-extension
pkg:composer/fof/discussion-thumbnail
Requires
- flarum/core: ^2.0.0
Requires (Dev)
- flarum/phpstan: ^2.0.0
- flarum/testing: ^2.0.0
This package is auto-updated.
Last update: 2026-02-25 02:41:05 UTC
README
A Flarum extension. Replaces the author avatar in the discussion list with the first image found in the discussion's opening post.
https://cdn.discuss.flarum.org/2026-02-25/1771984263-288896-fof-discussion-thumbnail.mp4
How it works
When the discussion list is rendered, each discussion's author avatar is replaced with a thumbnail of the first <img> found in the HTML of the first post. If the first post contains no image, the normal user avatar is shown instead.
Backend: AddDiscussionThumbnail is registered as an API serializer attribute on BasicDiscussionSerializer. For each discussion it:
- Loads the first post and calls
formatContent()to render the full HTML - Extracts the
srcof the first<img>tag via regex - Caches the result forever against the post ID, keyed as
fof:discussion-thumbnail:discussion:{id} - Returns the URL as the
customThumbnailattribute on the discussion
The cache is invalidated when the post's edited_at timestamp is newer than the cached date, so editing the first post to change its image is reflected on next load.
Frontend: The customThumbnail attribute is read in a contentItems extension on DiscussionListItem. When a thumbnail URL is present, the authorAvatar item is replaced with a DiscussionThumbnail component wrapped in the same Tooltip + Link structure as the normal avatar. The thumbnail is styled with the .Avatar class so it matches core avatar sizing and alignment at all breakpoints.
Settings
| Setting | Default | Description |
|---|---|---|
| Link to discussion | false |
When enabled, clicking the thumbnail navigates to the discussion instead of the author's profile |
Installation
composer require fof/discussion-thumbnail:"*"
Enable the extension in your Flarum admin panel.
Updating
composer update fof/discussion-thumbnail php flarum cache:clear
Links
An extension by FriendsOfFlarum.