From 8ee836ddfa9b08342e2006ec3c2488f1e3acc52f Mon Sep 17 00:00:00 2001 From: DoarMihai Date: Sat, 27 Sep 2025 16:33:31 +0300 Subject: [PATCH] seo improvements --- app/Http/Controllers/Api/IngestController.php | 4 +++ resources/views/books/show.blade.php | 36 +++++++++++++++++++ resources/views/layouts/app.blade.php | 3 +- .../views/layouts/donate_widget.blade.php | 20 +++++++---- resources/views/static/about.blade.php | 8 +++++ resources/views/static/contact.blade.php | 8 +++++ resources/views/static/privacy.blade.php | 8 +++++ resources/views/static/terms.blade.php | 8 +++++ resources/views/welcome.blade.php | 1 + 9 files changed, 89 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Api/IngestController.php b/app/Http/Controllers/Api/IngestController.php index 657fcd3..b86d160 100644 --- a/app/Http/Controllers/Api/IngestController.php +++ b/app/Http/Controllers/Api/IngestController.php @@ -8,8 +8,10 @@ use App\Models\Category; use App\Models\Summary; use App\Models\Author; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; use Illuminate\Support\Facades\DB; +use Psr\Log\LogLevel; class IngestController extends Controller { @@ -21,6 +23,8 @@ class IngestController extends Controller { $payload = $request->all(); + Log::log(LogLevel::INFO, "Updating books...".json_encode($payload)); + // Normalize to array of items $items = []; if (isset($payload['books']) && is_array($payload['books'])) { diff --git a/resources/views/books/show.blade.php b/resources/views/books/show.blade.php index 8d5e0ff..15bea1f 100644 --- a/resources/views/books/show.blade.php +++ b/resources/views/books/show.blade.php @@ -1,5 +1,37 @@ @extends('layouts.app') +@section('page_title') + {{ $book->title }} + by + @if($book->authors && $book->authors->count()) + {{ $book->authors->pluck('name')->join(', ') }} + @elseif($book->author) + {{ $book->author }} + @endif + - Summary by OpenTextSummaries +@endsection + +@section('meta_description') + @php + $raw = ''; + if ($book->summary && $book->summary->content) { + $raw = strip_tags($book->summary->content); + } elseif (!empty($book->description)) { + $raw = strip_tags($book->description); + } else { + $authorNames = ''; + if ($book->authors && $book->authors->count()) { + $authorNames = $book->authors->pluck('name')->join(', '); + } elseif (!empty($book->author)) { + $authorNames = $book->author; + } + $raw = trim($book->title . ($authorNames ? ' by ' . $authorNames : '') . ' — summary and key insights.'); + } + $desc = \Illuminate\Support\Str::limit(preg_replace('/\s+/', ' ', $raw), 160, '…'); + @endphp + {{ $desc }} +@endsection + @section('content')
@@ -81,6 +113,10 @@ @endauth @endif +
+ @include('layouts.donate_widget') +
+

Is this summary inaccurate?

@auth diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index d2fec48..4b94489 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -18,7 +18,8 @@ - {{ config('app.name', 'OpenTextSummaries') }} + @yield('page_title', config('app.name', 'OpenTextSummaries')) + diff --git a/resources/views/layouts/donate_widget.blade.php b/resources/views/layouts/donate_widget.blade.php index b5ef208..2cb0f11 100644 --- a/resources/views/layouts/donate_widget.blade.php +++ b/resources/views/layouts/donate_widget.blade.php @@ -1,9 +1,17 @@