{{-- --- Hero (PRD 10.5) ---------------------------------------------- --}}
Blog

Notes on building for the web

Practical writing on Laravel, performance and the decisions that actually determine whether a project ships well.

{{-- Search (PRD 10.14 / 4.23) --}} {{-- Category filter (PRD 10.12 / 4.24) --}} @if($categories->isNotEmpty()) @endif
{{-- --- Grid (PRD 10.5 — 3 / 2 / 1 columns) --------------------------- --}}
@if($activeTag)

Showing articles tagged {{ $activeTag }}. Clear filter

@endif @if($posts->isEmpty()) {{-- Empty state (PRD 3.28 / 4.20) --}}

@if($searchQuery || $activeCategory || $activeTag) No articles match that search @else No articles available @endif

@if($searchQuery || $activeCategory || $activeTag) Try a different keyword, or browse everything published so far. @else New writing is on the way. In the meantime, the portfolio has the full story on recent projects. @endif

@if($searchQuery || $activeCategory || $activeTag) View all articles @else View portfolio @endif
@else
@foreach($posts as $post)
@endforeach
{{-- Numbered pagination, never infinite scroll (PRD 4.22) --}}
{{ $posts->links() }}
@endif