Update (config): enable canonical
Update (migration): Add category type Add (admin): Add post cliffhanger
This commit is contained in:
47
resources/views/admin/changelog.blade.php
Normal file
47
resources/views/admin/changelog.blade.php
Normal file
@@ -0,0 +1,47 @@
|
||||
@extends('layouts.admin.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xl">
|
||||
<!-- Page title -->
|
||||
<div class="page-header d-print-none">
|
||||
<h2 class="page-title">
|
||||
{{ __('Changelog') }}
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page-body">
|
||||
<div class="container-xl">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<p class="fw-bold mb-0">Change Log 3/8/2023 7.43pm</p>
|
||||
<ul>
|
||||
<li>(Improvement) Improve post UI outside front</li>
|
||||
<li>(Fix) SEO problems</li>
|
||||
<li>(Feature) Add cliffhanger field in post</li>
|
||||
</ul>
|
||||
|
||||
<p class="fw-bold mb-0">Change Log 2/8/2023 12.03am</p>
|
||||
<ul>
|
||||
<li>(Feature) Add Delete Forever button</li>
|
||||
<li>(Feature) Add Index to Search Engines button</li>
|
||||
<li>(Feature) Auto set author on new post</li>
|
||||
<li>(Feature) Only publish status must fill in all post fields, others status can save with minimum
|
||||
title and
|
||||
slug only</li>
|
||||
<li>(Fix) Post list has timezone error</li>
|
||||
</ul>
|
||||
|
||||
<p class="fw-bold mb-0">Change Log 1/8/2023 10.35pm</p>
|
||||
<ul>
|
||||
<li>(Feature) Auto set category on new post</li>
|
||||
<li>(Feature) Auto set author on new post</li>
|
||||
<li>(Feature) Only publish status must fill in all post fields, others status can save with minimum
|
||||
title and
|
||||
slug only</li>
|
||||
<li>(Fix) Post list has timezone error</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -2,25 +2,14 @@
|
||||
<div class="card-body">
|
||||
<h3 class="">Webmaster Announcement</h3>
|
||||
<div class="text-muted">
|
||||
<p class="fw-bold mb-0">Change Log 2/8/2023 12.03am</p>
|
||||
<p class="fw-bold mb-0">Change Log 3/8/2023 7.43pm</p>
|
||||
<ul>
|
||||
<li>(Feature) Add Delete Forever button</li>
|
||||
<li>(Feature) Add Index to Search Engines button</li>
|
||||
<li>(Feature) Auto set author on new post</li>
|
||||
<li>(Feature) Only publish status must fill in all post fields, others status can save with minimum
|
||||
title and
|
||||
slug only</li>
|
||||
<li>(Fix) Post list has timezone error</li>
|
||||
</ul>
|
||||
<p class="fw-bold mb-0">Change Log 1/8/2023 10.35pm</p>
|
||||
<ul>
|
||||
<li>(Feature) Auto set category on new post</li>
|
||||
<li>(Feature) Auto set author on new post</li>
|
||||
<li>(Feature) Only publish status must fill in all post fields, others status can save with minimum
|
||||
title and
|
||||
slug only</li>
|
||||
<li>(Fix) Post list has timezone error</li>
|
||||
<li>(Improvement) Improve post UI outside front</li>
|
||||
<li>(Fix) SEO problems</li>
|
||||
<li>(Feature) Add cliffhanger field in post</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<a href="{{ route('admin.changelog') }}">View all changelogs here</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
57
resources/views/front/partials/featured_post_card.blade.php
Normal file
57
resources/views/front/partials/featured_post_card.blade.php
Normal 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>
|
||||
48
resources/views/front/partials/post_list_card.blade.php
Normal file
48
resources/views/front/partials/post_list_card.blade.php
Normal 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>
|
||||
48
resources/views/front/partials/small_list_card.blade.php
Normal file
48
resources/views/front/partials/small_list_card.blade.php
Normal 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>
|
||||
Reference in New Issue
Block a user