Make RSS thumbnail height configurable

This commit is contained in:
Svilen Markov 2024-05-09 06:01:16 +01:00
parent 7c4c1798b6
commit 54102ae35e
4 changed files with 17 additions and 8 deletions

View file

@ -392,6 +392,7 @@ Example:
| ---- | ---- | -------- | ------- |
| style | string | no | vertical-list |
| feeds | array | yes |
| thumbnail-height | float | no | 10 |
| limit | integer | no | 25 |
| collapse-after | integer | no | 5 |
@ -406,6 +407,9 @@ Used to change the appearance of the widget. Possible values are `vertical-list`
![preview of horizontal-cards style for RSS widget](images/rss-feed-horizontal-cards-preview.png)
##### `thumbnail-height`
Used to modify the height of the thumbnails. Works only when the style is set to `horizontal-cards`. The default value is `10` and the units are `rem`, if you want to for example double the height of the thumbnails you can set it to `20`.
##### `feeds`
An array of RSS/atom feeds. The title can optionally be changed.

View file

@ -813,7 +813,7 @@ body {
}
.rss-card-image {
height: 10rem;
height: var(--rss-thumbnail-height, 10rem);
object-fit: cover;
border-radius: var(--border-radius) var(--border-radius) 0 0;
}

View file

@ -4,7 +4,7 @@
{{ define "widget-content" }}
<div class="carousel-container">
<div class="cards-horizontal carousel-items-container">
<div class="cards-horizontal carousel-items-container"{{ if ne 0.0 .ThumbnailHeight }}style="--rss-thumbnail-height: {{ .ThumbnailHeight }}rem;"{{ end }}>
{{ range .Items }}
<div class="card widget-content-frame thumbnail-container">
{{ if ne "" .ImageURL }}

View file

@ -10,12 +10,13 @@ import (
)
type RSS struct {
widgetBase `yaml:",inline"`
FeedRequests []feed.RSSFeedRequest `yaml:"feeds"`
Style string `yaml:"style"`
Items feed.RSSFeedItems `yaml:"-"`
Limit int `yaml:"limit"`
CollapseAfter int `yaml:"collapse-after"`
widgetBase `yaml:",inline"`
FeedRequests []feed.RSSFeedRequest `yaml:"feeds"`
Style string `yaml:"style"`
ThumbnailHeight float64 `yaml:"thumbnail-height"`
Items feed.RSSFeedItems `yaml:"-"`
Limit int `yaml:"limit"`
CollapseAfter int `yaml:"collapse-after"`
}
func (widget *RSS) Initialize() error {
@ -29,6 +30,10 @@ func (widget *RSS) Initialize() error {
widget.CollapseAfter = 5
}
if widget.ThumbnailHeight < 0 {
widget.ThumbnailHeight = 0
}
return nil
}