{{-- ============================================================ DETAIL NEWS GAPKINDO — Elegant Article Page Struktur: 1. Banner header (navy + checkerboard, compact) 2. Hero section: title + meta (date, source) 3. Featured image (large, hero-style) 4. Article body (readable typography, max-width) 5. Article footer: print, share, info card 6. CTA back to news list + home ============================================================ --}} @extends('guest.layouts.master') @section('title', $dataNews->title . ' | GAPKINDO') @php // ===== OG image URL via generator endpoint (auto 1200x630 JPEG) ===== // Pakai url() (bukan route()) supaya tidak 500 jika route name belum kebaca. // Timestamp cache-busting: pakai updated_at (atau created_at fallback) $ogTs = strtotime($dataNews->updated_at ?? $dataNews->created_at ?? 'now'); $ogImageUrl = url('/og-image/' . $dataNews->slug) . '?t=' . $ogTs; // Strip HTML + truncate untuk description $ogDesc = \Illuminate\Support\Str::limit(strip_tags($dataNews->content ?? ''), 200); @endphp @push('meta') {{-- ===== Open Graph (WhatsApp, Facebook, LinkedIn, Telegram) ===== --}} @if(!empty($dataNews->source)) @endif {{-- ===== Twitter Card ===== --}} {{-- ===== Standard SEO ===== --}} @endpush @push('styles') @endpush @section('content') @php $publishDate = $dataNews->created_at ? \Carbon\Carbon::parse($dataNews->created_at)->locale('id')->isoFormat('D MMMM Y') : '-'; $relativeDate = $dataNews->created_at ? \Carbon\Carbon::parse($dataNews->created_at)->diffForHumans() : ''; // Content dari Summernote sudah berupa HTML (sudah ada

, , dll). // Tidak perlu split by newline lagi — langsung render via {!! ... !!} $content = trim($dataNews->content ?? ''); // Reading time estimation (~200 words per minute for Indonesian) $wordCount = str_word_count(strip_tags($content)); $readingTime = max(1, ceil($wordCount / 200)); @endphp

{{-- ===================================================== 1. MINI BANNER — Breadcrumb-style ===================================================== --}}
Beranda / Berita / Detail
{{-- ===================================================== 2. HERO CONTENT — Title + Meta ===================================================== --}}
Artikel Berita

{{ $dataNews->title }}

{{ $publishDate }} @if(!empty($dataNews->source)) Sumber: {{ $dataNews->source }} @endif
{{-- ===================================================== 3. FEATURED IMAGE ===================================================== --}} @if(!empty($dataNews->image))
{{ $dataNews->title }}
@endif {{-- ===================================================== 4. ARTICLE BODY — Magazine/Book Style ===================================================== --}}
{{-- Reading Info Bar --}}
{{ $readingTime }} menit baca {{ number_format($wordCount) }} kata
{{-- Book-style page --}}
— Artikel —
{!! $content !!}
{{-- ===================================================== 5. ARTICLE FOOTER — Detail Card + Actions ===================================================== --}} {{-- ===================================================== 6. CTA BACK ===================================================== --}}
@endsection @push('scripts') @endpush