mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
rss feed added
This commit is contained in:
48
resources/views/vendor/feed/atom.blade.php
vendored
Normal file
48
resources/views/vendor/feed/atom.blade.php
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
<?=
|
||||
/* Using an echo tag here so the `<? ... ?>` won't get parsed as short tags */
|
||||
'<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL
|
||||
?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{{ $meta['language'] }}">
|
||||
@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')
|
||||
<subtitle>{{ $metaItem }}</subtitle>
|
||||
@elseif($key === 'language')
|
||||
@elseif($key === 'image')
|
||||
@if(!empty($metaItem))
|
||||
<logo>{!! $metaItem !!}</logo>
|
||||
@else
|
||||
|
||||
@endif
|
||||
@else
|
||||
<{{ $key }}>{{ $metaItem }}</{{ $key }}>
|
||||
@endif
|
||||
@endforeach
|
||||
@foreach($items as $item)
|
||||
<entry>
|
||||
<title>{!! \Spatie\Feed\Helpers\Cdata::out($item->title) !!}</title>
|
||||
<link rel="alternate" href="{{ url($item->link) }}" />
|
||||
<id>{{ url($item->id) }}</id>
|
||||
<author>
|
||||
<name>{!! \Spatie\Feed\Helpers\Cdata::out($item->authorName) !!}</name>
|
||||
@if(!empty($item->authorEmail))
|
||||
<email>{!! \Spatie\Feed\Helpers\Cdata::out($item->authorEmail) !!}</email>
|
||||
|
||||
@endif
|
||||
</author>
|
||||
<summary type="html">
|
||||
{!! \Spatie\Feed\Helpers\Cdata::out($item->summary) !!}
|
||||
</summary>
|
||||
@if($item->__isset('enclosure'))
|
||||
<link href="{{ url($item->enclosure) }}" length="{{ $item->enclosureLength }}" type="{{ $item->enclosureType }}" />
|
||||
@endif
|
||||
@foreach($item->category as $category)
|
||||
<category term="{{ $category }}" />
|
||||
@endforeach
|
||||
<updated>{{ $item->timestamp() }}</updated>
|
||||
</entry>
|
||||
@endforeach
|
||||
</feed>
|
||||
46
resources/views/vendor/feed/json.blade.php
vendored
Normal file
46
resources/views/vendor/feed/json.blade.php
vendored
Normal file
@@ -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
|
||||
|
||||
]
|
||||
}
|
||||
3
resources/views/vendor/feed/links.blade.php
vendored
Normal file
3
resources/views/vendor/feed/links.blade.php
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
@foreach($feeds as $name => $feed)
|
||||
<link rel="alternate" type="{{ \Spatie\Feed\Helpers\FeedContentType::forLink($feed['format'] ?? 'atom') }}" href="{{ route("feeds.{$name}") }}" title="{{ $feed['title'] }}">
|
||||
@endforeach
|
||||
39
resources/views/vendor/feed/rss.blade.php
vendored
Normal file
39
resources/views/vendor/feed/rss.blade.php
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
<?=
|
||||
/* Using an echo tag here so the `<? ... ?>` won't get parsed as short tags */
|
||||
'<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL
|
||||
?>
|
||||
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
|
||||
<channel>
|
||||
<atom:link href="{{ url($meta['link']) }}" rel="self" type="application/rss+xml"/>
|
||||
<title>{!! \Spatie\Feed\Helpers\Cdata::out($meta['title'] ) !!}</title>
|
||||
<link>{!! \Spatie\Feed\Helpers\Cdata::out(url($meta['link']) ) !!}</link>
|
||||
@if(!empty($meta['image']))
|
||||
<image>
|
||||
<url>{{ $meta['image'] }}</url>
|
||||
<title>{!! \Spatie\Feed\Helpers\Cdata::out($meta['title'] ) !!}</title>
|
||||
<link>{!! \Spatie\Feed\Helpers\Cdata::out(url($meta['link']) ) !!}</link>
|
||||
</image>
|
||||
@endif
|
||||
<description>{!! \Spatie\Feed\Helpers\Cdata::out($meta['description'] ) !!}</description>
|
||||
<language>{{ $meta['language'] }}</language>
|
||||
<pubDate>{{ $meta['updated'] }}</pubDate>
|
||||
|
||||
@foreach($items as $item)
|
||||
<item>
|
||||
<title>{!! \Spatie\Feed\Helpers\Cdata::out($item->title) !!}</title>
|
||||
<link>{{ url($item->link) }}</link>
|
||||
<description>{!! \Spatie\Feed\Helpers\Cdata::out($item->summary) !!}</description>
|
||||
<author>{!! \Spatie\Feed\Helpers\Cdata::out($item->authorName.(empty($item->authorEmail)?'':' <'.$item->authorEmail.'>')) !!}</author>
|
||||
<guid isPermaLink="true">{{ url($item->id) }}</guid>
|
||||
<pubDate>{{ $item->timestamp() }}</pubDate>
|
||||
@if($item->__isset('enclosure'))
|
||||
<enclosure url="{{ url($item->enclosure) }}" length="{{ url($item->enclosureLength) }}" type="{{ $item->enclosureType }}"/>
|
||||
<media:content url="{{ url($item->enclosure) }}" medium="image" type="{{ $item->enclosureType }}"/>
|
||||
@endif
|
||||
@foreach($item->category as $category)
|
||||
<category>{{ $category }}</category>
|
||||
@endforeach
|
||||
</item>
|
||||
@endforeach
|
||||
</channel>
|
||||
</rss>
|
||||
Reference in New Issue
Block a user