소스 검색

Make RSS thumbnail height configurable

Svilen Markov 1 년 전
부모
커밋
54102ae35e
4개의 변경된 파일17개의 추가작업 그리고 8개의 파일을 삭제
  1. 4 0
      docs/configuration.md
  2. 1 1
      internal/assets/static/main.css
  3. 1 1
      internal/assets/templates/rss-cards.html
  4. 11 6
      internal/widget/rss.go

+ 4 - 0
docs/configuration.md

@@ -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.
 

+ 1 - 1
internal/assets/static/main.css

@@ -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;
 }

+ 1 - 1
internal/assets/templates/rss-cards.html

@@ -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 }}

+ 11 - 6
internal/widget/rss.go

@@ -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
 }