Update (config): enable canonical

Update (migration): Add category type
Add (admin): Add post cliffhanger
This commit is contained in:
2023-08-03 19:46:32 +08:00
parent 8d11ccf2de
commit 500714d7bf
41 changed files with 366 additions and 229 deletions

View File

@@ -17,54 +17,9 @@
<h3 class="h4 fw-bold text-center mb-3">Featured Articles</h3>
<div class="row g-3 justify-content-center">
@foreach ($featured_posts as $post)
<div class="col-12 col-xl-3">
<div class="col-9 col-md-6 col-xl-3">
<div class="card shadow-sm" style="height:100%;">
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">
<div class="card-img-top ratio ratio-16x9">
<div class="lqip-loader">
<!-- Use the LQIP image with the appropriate URL -->
<img src="{{ $post->featured_image }}" alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="lqip-frozen" src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
<div class="card-body d-flex justify-content-between flex-column">
<div class="mb-2">
<p class="card-text fw-bold">
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">{{ $post->title }}</a>
</p>
</div>
<div>
<p class="card-text mb-0">
<small>in </small>
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@if (!$loop->last)
,
@endif
@endforeach
{{-- <small class="text-body-secondary ms-2">3 min read</small> --}}
</p>
<div class="d-flex justify-content-between align-items-center">
<small
class="text-body-secondary">{{ $post->publish_date->format('j F Y') }}</small>
{{-- <small class="text-body-secondary">9 min read</small> --}}
</div>
</div>
</div>
</div>
@include('front.partials.featured_post_card', ['post' => $post])
</div>
@endforeach
@@ -83,55 +38,9 @@ class="text-body-secondary">{{ $post->publish_date->format('j F Y') }}</small>
{{ get_country_name_by_iso($country_locale->country_iso) }}</h3>
<div class="row g-3">
@foreach ($latest_posts as $post)
<div class="col-lg-6">
<div class="col-12 col-lg-6">
<div class="card" style="height:100%;">
<div class="row g-0">
<div class="col-md-5">
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">
<div class="img-fluid rounded-start ratio ratio-16x9">
<div class="lqip-loader">
<!-- Use the LQIP image with the appropriate URL -->
<img src="{{ $post->featured_image }}"
alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="lqip-frozen" src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
</div>
<div class="col-md-7">
<div class="card-body d-flex justify-content-between flex-column"
style="height:100%;">
<div>
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">
<p class="card-title fw-bold">{{ $post->title }}</p>
</a>
</div>
<div class="d-flex justify-content-between align-items-center">
<p class="card-text mb-0">
<small>in </small>
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@if (!$loop->last)
,
@endif
@endforeach
{{-- <small class="text-body-secondary ms-2">3 min read</small> --}}
</p>
<small
class="text-body-secondary">{{ $post->publish_date->format('j F Y') }}</small>
</div>
</div>
</div>
</div>
</div>
@include('front.partials.small_list_card', ['post' => $post])
</div>
@endforeach

View File

@@ -23,42 +23,7 @@
<div class="my-3">
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none fw-bold"
href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}">{{ $post->title }}</a>
</h5>
<p class="card-text">
in
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@endforeach
<small
class="text-body-secondary ms-2">{{ $post->publish_date->format('j F Y') }}</small>
</p>
</div>
<a class="card-img-top"
href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}">
<div class="img-fluid rounded-start ratio ratio-16x9">
<div class="lqip-loader">
<!-- Use the LQIP image with the appropriate URL -->
<img src="{{ $post->featured_image }}" alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="lqip-frozen" src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
</div>
@include('front.partials.post_list_card', ['post' => $post])
</div>
@endforeach

View File

@@ -22,42 +22,7 @@
<div class="my-3">
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none fw-bold"
href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}">{{ $post->title }}</a>
</h5>
<p class="card-text">
in
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@endforeach
<small
class="text-body-secondary ms-2">{{ $post->publish_date->format('j F Y') }}</small>
{{-- <small class="text-body-secondary ms-2">3 min read</small> --}}
</p>
</div>
<a class="card-img-top"
href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}">
<div class="img-fluid rounded-start ratio ratio-16x9">
<div class="lqip-loader">
<!-- Use the LQIP image with the appropriate URL -->
<img src="{{ $post->featured_image }}" alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="lqip-frozen" src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
</div>
@include('front.partials.post_list_card', ['post' => $post])
</div>

View File

@@ -0,0 +1,57 @@
<div class="card border-0 glow-{{ $loop->index + 1 }}" style="height:100%;">
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">
<div class="card-img-top ratio ratio-16x9">
<div class="lqip-loader">
<!-- Use the LQIP image with the appropriate URL -->
<img class="img-fluid rounded-top" src="{{ $post->featured_image }}"
alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="img-fluid lqip-frozen" src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
<div class="card-body d-flex justify-content-between flex-column">
<div class="mb-2">
<p class="card-text fw-bold">
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">{{ $post->title }}</a>
</p>
</div>
@if (!is_empty($post->cliffhanger))
<div class="mb-3">
<small class="text-secondary">{{ $post->cliffhanger }}</small>
</div>
@else
<div class="mb-3">
<small class="text-secondary">{{ $post->excerpt }}</small>
</div>
@endif
<div>
<p class="card-text mb-0">
<small>in </small>
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@if (!$loop->last)
,
@endif
@endforeach
{{-- <small class="text-body-secondary ms-2">3 min read</small> --}}
</p>
<div class="d-flex justify-content-between align-items-center">
<small
class="text-body-secondary">{{ $post->publish_date->format('j F Y') }}</small>
{{-- <small class="text-body-secondary">9 min read</small> --}}
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,48 @@
<div class="card border-0 shadow-lg mb-34">
<div class="card-body">
<h5 class="card-title">
<a class="text-decoration-none fw-bold"
href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}">{{ $post->title }}</a>
</h5>
@if (!is_empty($post->cliffhanger))
<div class="mb-3">
<small class="text-secondary">{{ $post->cliffhanger }}</small>
</div>
@else
<div class="mb-3">
<small class="text-secondary">{{ $post->excerpt }}</small>
</div>
@endif
<p class="card-text">
in
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@endforeach
<small
class="text-body-secondary ms-2">{{ $post->publish_date->format('j F Y') }}</small>
{{-- <small class="text-body-secondary ms-2">3 min read</small> --}}
</p>
</div>
<a class="card-img-top"
href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}">
<div class="img-fluid rounded-start ratio ratio-16x9">
<div class="lqip-loader">
<!-- Use the LQIP image with the appropriate URL -->
<img class="img-fluid rounded-bottom" src="{{ $post->featured_image }}"
alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="lqip-frozen img-fluid rounded-bottom"
src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,48 @@
<div class="card border-0 shadow-lg" style="height:100%;">
<div class="row g-0">
<div class="col-5 p-3 m-auto">
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">
<div class="ratio ratio-16x9">
<div class="lqip-loader img-fluid rounded ">
<!-- Use the LQIP image with the appropriate URL -->
<img class="img-fluid" src="{{ $post->featured_image }}"
alt="Photo of {{ $post->name }}">
<!-- Use the final JPEG image with the appropriate URL -->
<img class="lqip-frozen img-fluid rounded "
src="{{ $post->featured_image_lqip }}"
alt="Placeholder image of {{ $post->name }}">
</div>
</div>
</a>
</div>
<div class="col-7">
<div class="card-body d-flex justify-content-between flex-column"
style="height:100%;">
<div>
<a href="{{ route('home.country.post', ['country' => $country_locale->country_iso, 'post_slug' => $post->slug]) }}"
class="text-decoration-none">
<p class="card-title fw-bold">{{ $post->title }}</p>
</a>
</div>
<div class="d-flex justify-content-between align-items-center">
<p class="card-text mb-0">
<small>in </small>
@foreach ($post->post_categories as $post_category)
<small><a class="text-decoration-none"
href="{{ route('home.country.category', ['country' => $country_locale->country_iso, 'category' => $post_category->category->slug]) }}">{{ $post_category->category->name }}</a>
</small>
@if (!$loop->last)
,
@endif
@endforeach
{{-- <small class="text-body-secondary ms-2">3 min read</small> --}}
</p>
<small
class="text-body-secondary">{{ $post->publish_date->format('j F Y') }}</small>
</div>
</div>
</div>
</div>
</div>