DEV: Allow plugins to request topic thumbnail sizes (#9828)

In plugin.rb, you can register new sizes like

```
register_topic_thumbnail_size [512, 512]
```

For more information about thumbnails see 03818e642a
This commit is contained in:
David Taylor
2020-05-19 10:38:58 +01:00
committed by GitHub
parent f2574736a2
commit 725e38f9d7
4 changed files with 49 additions and 4 deletions

View File

@@ -33,11 +33,11 @@ class Topic < ActiveRecord::Base
end
def self.thumbnail_sizes
[ self.share_thumbnail_size ]
[ self.share_thumbnail_size ] + DiscoursePluginRegistry.topic_thumbnail_sizes
end
def thumbnail_job_redis_key(extra_sizes)
"generate_topic_thumbnail_enqueue_#{id}_#{extra_sizes.inspect}"
def thumbnail_job_redis_key(sizes)
"generate_topic_thumbnail_enqueue_#{id}_#{sizes.inspect}"
end
def filtered_topic_thumbnails(extra_sizes: [])
@@ -79,7 +79,7 @@ class Topic < ActiveRecord::Base
if SiteSetting.create_thumbnails &&
enqueue_if_missing &&
records.length < thumbnail_sizes.length &&
Discourse.redis.set(thumbnail_job_redis_key(extra_sizes), 1, nx: true, ex: 1.minute)
Discourse.redis.set(thumbnail_job_redis_key(thumbnail_sizes), 1, nx: true, ex: 1.minute)
Jobs.enqueue(:generate_topic_thumbnails, { topic_id: id, extra_sizes: extra_sizes })
end