From 6b76361d55b4dcbaa9691899ecaf3a912d6ab4df Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode Date: Wed, 15 Feb 2023 20:51:40 +0100 Subject: [PATCH] atom feed added --- app/Http/Livewire/News/Form/NewsArticleForm.php | 1 + app/Models/LibraryItem.php | 6 +++++- config/feed.php | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/Http/Livewire/News/Form/NewsArticleForm.php b/app/Http/Livewire/News/Form/NewsArticleForm.php index 68e5d02a..b2ae8d54 100644 --- a/app/Http/Livewire/News/Form/NewsArticleForm.php +++ b/app/Http/Livewire/News/Form/NewsArticleForm.php @@ -33,6 +33,7 @@ class NewsArticleForm extends Component 'libraryItem.main_image_caption' => 'required', 'libraryItem.read_time' => 'required', 'libraryItem.approved' => 'boolean', + 'libraryItem.news' => 'boolean', ]; } diff --git a/app/Models/LibraryItem.php b/app/Models/LibraryItem.php index a5f675fc..2ee84893 100644 --- a/app/Models/LibraryItem.php +++ b/app/Models/LibraryItem.php @@ -49,6 +49,7 @@ class LibraryItem extends Model implements HasMedia, Sortable, Feedable { return self::query() ->with([ + 'media', 'lecturer', ]) ->where('news', true) @@ -146,13 +147,16 @@ class LibraryItem extends Model implements HasMedia, Sortable, Feedable public function toFeedItem(): FeedItem { + return FeedItem::create() ->id($this->id) ->title($this->name) + ->enclosure($this->getFirstMediaUrl('main')) + ->enclosureLength($this->getFirstMedia('main')->size) + ->enclosureType($this->getFirstMedia('main')->mime_type) ->summary($this->excerpt) ->updated($this->updated_at) ->link(url()->route('article.view', ['libraryItem' => $this])) - ->image($this->getFirstMediaUrl('main')) ->authorName($this->lecturer->name); } } diff --git a/config/feed.php b/config/feed.php index 9dda878b..ef18ae83 100644 --- a/config/feed.php +++ b/config/feed.php @@ -27,7 +27,7 @@ return [ * a banner/logo; for RSS and JSON feeds, it's displayed as an icon. * An empty value omits the image attribute from the feed. */ - 'image' => '', + 'image' => asset('img/einundzwanzig.png'), /* * The format of the feed. Acceptable values are 'rss', 'atom', or 'json'.