diff --git a/app/Models/LibraryItem.php b/app/Models/LibraryItem.php
index 2c6d3af9..3d9735ee 100644
--- a/app/Models/LibraryItem.php
+++ b/app/Models/LibraryItem.php
@@ -54,6 +54,7 @@ class LibraryItem extends Model implements HasMedia, Sortable, Feedable
])
->where('news', true)
->where('approved', true)
+ ->orderByDesc('created_at')
->get();
}
@@ -148,7 +149,7 @@ class LibraryItem extends Model implements HasMedia, Sortable, Feedable
public function toFeedItem(): FeedItem
{
return FeedItem::create()
- ->id('news/'. $this->slug)
+ ->id('news/'.$this->slug)
->title($this->name)
->enclosure($this->getFirstMediaUrl('main'))
->enclosureLength($this->getFirstMedia('main')->size)
diff --git a/config/feed.php b/config/feed.php
index 9dda878b..79848986 100644
--- a/config/feed.php
+++ b/config/feed.php
@@ -32,12 +32,12 @@ return [
/*
* The format of the feed. Acceptable values are 'rss', 'atom', or 'json'.
*/
- 'format' => 'atom',
+ 'format' => 'rss',
/*
* The view that will render the feed.
*/
- 'view' => 'feed::atom',
+ 'view' => 'feed::rss',
/*
* The mime type to be used in the tag. Set to an empty string to automatically
diff --git a/resources/views/vendor/feed/atom.blade.php b/resources/views/vendor/feed/atom.blade.php
new file mode 100644
index 00000000..a9be43f3
--- /dev/null
+++ b/resources/views/vendor/feed/atom.blade.php
@@ -0,0 +1,48 @@
+=
+ /* Using an echo tag here so the ` ... ?>` won't get parsed as short tags */
+ ''.PHP_EOL
+?>
+
+ @foreach($meta as $key => $metaItem)
+ @if($key === 'link')
+ <{{ $key }} href="{{ url($metaItem) }}" rel="self">{{ $key }}>
+ @elseif($key === 'title')
+ <{{ $key }}>{!! \Spatie\Feed\Helpers\Cdata::out($metaItem) !!}{{ $key }}>
+ @elseif($key === 'description')
+ {{ $metaItem }}
+ @elseif($key === 'language')
+ @elseif($key === 'image')
+@if(!empty($metaItem))
+ {!! $metaItem !!}
+@else
+
+@endif
+ @else
+ <{{ $key }}>{{ $metaItem }}{{ $key }}>
+ @endif
+ @endforeach
+ @foreach($items as $item)
+
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->title) !!}
+
+ {{ url($item->id) }}
+
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->authorName) !!}
+@if(!empty($item->authorEmail))
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->authorEmail) !!}
+
+@endif
+
+
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->summary) !!}
+
+ @if($item->__isset('enclosure'))
+
+ @endif
+ @foreach($item->category as $category)
+
+ @endforeach
+ {{ $item->timestamp() }}
+
+ @endforeach
+
diff --git a/resources/views/vendor/feed/json.blade.php b/resources/views/vendor/feed/json.blade.php
new file mode 100644
index 00000000..32f60556
--- /dev/null
+++ b/resources/views/vendor/feed/json.blade.php
@@ -0,0 +1,46 @@
+{
+ "version": "https://jsonfeed.org/version/1.1",
+ "title": "{{ $meta['title'] }}",
+@if(!empty($meta['description']))
+ "description": "{{ $meta['description'] }}",
+@endif
+ "home_page_url": "{{ config('app.url') }}",
+ "feed_url": "{{ url($meta['link']) }}",
+ "language": "{{ $meta['language'] }}",
+@if(!empty($meta['image']))
+ "icon": "{{ $meta['image'] }}",
+@endif
+ "authors": [@foreach($items->unique('authorName') as $item){
+ "name": "{{ $item->authorName }}"
+ }@if(! $loop->last),@endif
+@endforeach
+
+ ],
+ "items": [@foreach($items as $item){
+ "id": "{{ url($item->id) }}",
+ "title": {!! json_encode($item->title) !!},
+ "url": "{{ url($item->link) }}",
+ "content_html": {!! json_encode($item->summary) !!},
+ "summary": {!! json_encode($item->summary) !!},
+ "date_published": "{{ $item->timestamp() }}",
+ "date_modified": "{{ $item->timestamp() }}",
+ "authors": [{ "name": {!! json_encode($item->authorName) !!} }],
+@if($item->__isset('image'))
+ "image": "{{ url($item->image) }}",
+@endif
+@if($item->__isset('enclosure'))
+ "attachments": [
+ {
+ "url": "{{ url($item->enclosure) }}",
+ "mime_type": "{{ $item->enclosureType }}",
+ "size_in_bytes": {{ $item->enclosureLength }}
+ }
+ ],
+@endif
+ "tags": [ {!! implode(',', array_map(fn($c) => '"'.$c.'"', $item->category)) !!} ]
+ }@if(! $loop->last),
+@endif
+ @endforeach
+
+ ]
+}
diff --git a/resources/views/vendor/feed/links.blade.php b/resources/views/vendor/feed/links.blade.php
new file mode 100644
index 00000000..d99a654b
--- /dev/null
+++ b/resources/views/vendor/feed/links.blade.php
@@ -0,0 +1,3 @@
+@foreach($feeds as $name => $feed)
+
+@endforeach
diff --git a/resources/views/vendor/feed/rss.blade.php b/resources/views/vendor/feed/rss.blade.php
new file mode 100644
index 00000000..055e8b7f
--- /dev/null
+++ b/resources/views/vendor/feed/rss.blade.php
@@ -0,0 +1,39 @@
+=
+/* Using an echo tag here so the ` ... ?>` won't get parsed as short tags */
+''.PHP_EOL
+?>
+
+
+
+ {!! \Spatie\Feed\Helpers\Cdata::out($meta['title'] ) !!}
+ {!! \Spatie\Feed\Helpers\Cdata::out(url($meta['link']) ) !!}
+ @if(!empty($meta['image']))
+
+ {{ $meta['image'] }}
+ {!! \Spatie\Feed\Helpers\Cdata::out($meta['title'] ) !!}
+ {!! \Spatie\Feed\Helpers\Cdata::out(url($meta['link']) ) !!}
+
+ @endif
+ {!! \Spatie\Feed\Helpers\Cdata::out($meta['description'] ) !!}
+ {{ $meta['language'] }}
+ {{ $meta['updated'] }}
+
+ @foreach($items as $item)
+ -
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->title) !!}
+ {{ url($item->link) }}
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->summary) !!}
+ {!! \Spatie\Feed\Helpers\Cdata::out($item->authorName.(empty($item->authorEmail)?'':' <'.$item->authorEmail.'>')) !!}
+ {{ url($item->id) }}
+ {{ $item->timestamp() }}
+ @if($item->__isset('enclosure'))
+
+
+ @endif
+ @foreach($item->category as $category)
+ {{ $category }}
+ @endforeach
+
+ @endforeach
+
+