@extends('news.layout', [
'metaTitle' => ($author->name ?: $author->username) . ' — News Author',
'metaDescription' => 'News stories and announcements by ' . ($author->name ?: $author->username) . '.',
'metaCanonical' => route('news.author', ['username' => $author->username]),
])
@section('news_content')
@php
$authorLabel = $author->name ?: $author->username;
$headerBreadcrumbs = collect([
(object) ['name' => 'Community', 'url' => route('community.activity')],
(object) ['name' => 'Announcements', 'url' => route('news.index')],
(object) ['name' => $authorLabel, 'url' => route('news.author', ['username' => $author->username])],
]);
$seo = \App\Support\Seo\SeoDataBuilder::fromArray([
'title' => $authorLabel . ' — News Author',
'description' => 'News stories and announcements by ' . $authorLabel . '.',
'canonical' => route('news.author', ['username' => $author->username]),
'breadcrumbs' => $headerBreadcrumbs,
'structured_data' => [
[
'@context' => 'https://schema.org',
'@type' => 'CollectionPage',
'name' => $authorLabel . ' — News Author',
'description' => 'Editorial stories and updates by ' . $authorLabel . '.',
'url' => route('news.author', ['username' => $author->username]),
],
],
])->build();
@endphp
{{ $author->profile?->bio ? Str::limit($author->profile->bio, 180) : 'Writes updates, announcements, and editorial stories for Skinbase.' }}