From 3d0873c5af5482b0f538ef890e7a8bea5da04caf Mon Sep 17 00:00:00 2001 From: Charles T Date: Wed, 29 Nov 2023 22:44:55 +0800 Subject: [PATCH] Update (sitemap) --- .../SitemapCrawler/CustomCrawlProfile.php | 25 +++++++++++++++++++ config/sitemap.php | 3 ++- .../views/vendor/sitemap/image.blade.php | 17 +++++++++++++ resources/views/vendor/sitemap/news.blade.php | 11 ++++++++ .../views/vendor/sitemap/sitemap.blade.php | 6 +++++ .../sitemap/sitemapIndex/index.blade.php | 6 +++++ .../sitemap/sitemapIndex/sitemap.blade.php | 8 ++++++ resources/views/vendor/sitemap/url.blade.php | 20 +++++++++++++++ .../views/vendor/sitemap/video.blade.php | 23 +++++++++++++++++ 9 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 app/Helpers/FirstParty/SitemapCrawler/CustomCrawlProfile.php create mode 100644 resources/views/vendor/sitemap/image.blade.php create mode 100644 resources/views/vendor/sitemap/news.blade.php create mode 100644 resources/views/vendor/sitemap/sitemap.blade.php create mode 100644 resources/views/vendor/sitemap/sitemapIndex/index.blade.php create mode 100644 resources/views/vendor/sitemap/sitemapIndex/sitemap.blade.php create mode 100644 resources/views/vendor/sitemap/url.blade.php create mode 100644 resources/views/vendor/sitemap/video.blade.php diff --git a/app/Helpers/FirstParty/SitemapCrawler/CustomCrawlProfile.php b/app/Helpers/FirstParty/SitemapCrawler/CustomCrawlProfile.php new file mode 100644 index 0000000..f87839c --- /dev/null +++ b/app/Helpers/FirstParty/SitemapCrawler/CustomCrawlProfile.php @@ -0,0 +1,25 @@ +getHost() !== 'localhost') { + return false; + } + + // Check if there are query parameters in the URL + if ($url->getQuery() !== '') { + return false; + } + + // Check if the path is exactly '/' + return $url->getPath() === '/'; + } +} diff --git a/config/sitemap.php b/config/sitemap.php index 69be0f3..2007c5e 100644 --- a/config/sitemap.php +++ b/config/sitemap.php @@ -1,5 +1,6 @@ Profile::class, + 'crawl_profile' => CustomCrawlProfile::class, ]; diff --git a/resources/views/vendor/sitemap/image.blade.php b/resources/views/vendor/sitemap/image.blade.php new file mode 100644 index 0000000..3067e1a --- /dev/null +++ b/resources/views/vendor/sitemap/image.blade.php @@ -0,0 +1,17 @@ + +@if (! empty($image->url)) + {{ url($image->url) }} +@endif +@if (! empty($image->caption)) + {{ $image->caption }} +@endif +@if (! empty($image->geo_location)) + {{ $image->geo_location }} +@endif +@if (! empty($image->title)) + {{ $image->title }} +@endif +@if (! empty($image->license)) + {{ $image->license }} +@endif + diff --git a/resources/views/vendor/sitemap/news.blade.php b/resources/views/vendor/sitemap/news.blade.php new file mode 100644 index 0000000..6d01078 --- /dev/null +++ b/resources/views/vendor/sitemap/news.blade.php @@ -0,0 +1,11 @@ + + + {{ $news->name }} + {{ $news->language }} + + {{ $news->title }} + {{ $news->publicationDate->toW3cString() }} +@foreach($news->options as $tag => $value) + {{$value}} +@endforeach + \ No newline at end of file diff --git a/resources/views/vendor/sitemap/sitemap.blade.php b/resources/views/vendor/sitemap/sitemap.blade.php new file mode 100644 index 0000000..bee129d --- /dev/null +++ b/resources/views/vendor/sitemap/sitemap.blade.php @@ -0,0 +1,6 @@ +'."\n"; ?> + +@foreach($tags as $tag) + @include('sitemap::' . $tag->getType()) +@endforeach + diff --git a/resources/views/vendor/sitemap/sitemapIndex/index.blade.php b/resources/views/vendor/sitemap/sitemapIndex/index.blade.php new file mode 100644 index 0000000..12d2701 --- /dev/null +++ b/resources/views/vendor/sitemap/sitemapIndex/index.blade.php @@ -0,0 +1,6 @@ +'."\n" ?> + +@foreach($tags as $tag) + @include('sitemap::sitemapIndex/' . $tag->getType()) +@endforeach + diff --git a/resources/views/vendor/sitemap/sitemapIndex/sitemap.blade.php b/resources/views/vendor/sitemap/sitemapIndex/sitemap.blade.php new file mode 100644 index 0000000..ad345a4 --- /dev/null +++ b/resources/views/vendor/sitemap/sitemapIndex/sitemap.blade.php @@ -0,0 +1,8 @@ + + @if (! empty($tag->url)) + {{ url($tag->url) }} + @endif + @if (! empty($tag->lastModificationDate)) + {{ $tag->lastModificationDate->format(DateTime::ATOM) }} + @endif + diff --git a/resources/views/vendor/sitemap/url.blade.php b/resources/views/vendor/sitemap/url.blade.php new file mode 100644 index 0000000..a4ebc75 --- /dev/null +++ b/resources/views/vendor/sitemap/url.blade.php @@ -0,0 +1,20 @@ + + @if (! empty($tag->url)) + {{ url($tag->url) }} + @endif +@if (count($tag->alternates)) +@foreach ($tag->alternates as $alternate) + + @endforeach +@endif +@if (! empty($tag->lastModificationDate)) + {{ $tag->lastModificationDate->format(DateTime::ATOM) }} +@endif + @if (! empty($tag->changeFrequency)) + {{ $tag->changeFrequency }} + @endif + {{ number_format($tag->priority,1) }} + @each('sitemap::image', $tag->images, 'image') + @each('sitemap::video', $tag->videos, 'video') + @each('sitemap::news', $tag->news, 'news') + diff --git a/resources/views/vendor/sitemap/video.blade.php b/resources/views/vendor/sitemap/video.blade.php new file mode 100644 index 0000000..376d737 --- /dev/null +++ b/resources/views/vendor/sitemap/video.blade.php @@ -0,0 +1,23 @@ + + {{ $video->thumbnailLoc }} + {{ $video->title }} + {{ $video->description }} +@if ($video->contentLoc) + {{ $video->contentLoc }} +@endif +@if ($video->playerLoc) + {{ $video->playerLoc }} +@endif +@foreach($video->options as $tag => $value) + {{$value}} +@endforeach +@foreach($video->allow as $tag => $value) + {{$value}} +@endforeach +@foreach($video->deny as $tag => $value) + {{$value}} +@endforeach +@foreach($video->tags as $tag) + {{ $tag }} +@endforeach +