| 1 |
<x-app-layout :title="$post->title"> |
| 2 |
<x-ad/> |
| 3 |
|
| 4 |
<x-post-header :post="$post" class="mb-8"> |
| 5 |
|
| 6 |
{!! $post->html !!} |
| 7 |
|
| 8 |
@unless($post->isTweet()) |
| 9 |
@if($post->external_url) |
| 10 |
<p class="mt-6"> |
| 11 |
<a href="{{ $post->external_url }}"> |
| 12 |
Read more</a> |
| 13 |
<span class="text-xs text-gray-700">[{{ $post->external_url_host }}]</span> |
| 14 |
</p> |
| 15 |
@endif |
| 16 |
@endunless |
| 17 |
</x-post-header> |
| 18 |
|
| 19 |
@include('front.newsletter.partials.block', [ |
| 20 |
'class' => 'mb-8', |
| 21 |
]) |
| 22 |
|
| 23 |
<div class="mb-8"> |
| 24 |
@include('front.posts.partials.comments') |
| 25 |
</div> |
| 26 |
|
| 27 |
<x-slot name="seo"> |
| 28 |
<meta property="og:title" content="{{ $post->title }} | freek.dev"/> |
| 29 |
<meta property="og:description" content="{{ $post->plain_text_excerpt }}"/> |
| 30 |
<meta name="og:image" content="{{ url($post->getFirstMediaUrl('ogImage')) }}"/> |
| 31 |
|
| 32 |
@foreach($post->tags as $tag) |
| 33 |
<meta property="article:tag" content="{{ $tag->name }}"/> |
| 34 |
@endforeach |
| 35 |
|
| 36 |
<meta property="article:published_time" content="{{ optional($post->publish_date)->toIso8601String() }}"/> |
| 37 |
<meta property="og:updated_time" content="{{ $post->updated_at->toIso8601String() }}"/> |
| 38 |
<meta name="twitter:card" content="summary_large_image"/> |
| 39 |
<meta name="twitter:description" content="{{ $post->plain_text_excerpt }}"/> |
| 40 |
<meta name="twitter:title" content="{{ $post->title }} | freek.dev"/> |
| 41 |
<meta name="twitter:site" content="@freekmurze"/> |
| 42 |
<meta name="twitter:image" content="{{ url($post->getFirstMediaUrl('ogImage')) }}"/> |
| 43 |
<meta name="twitter:creator" content="@freekmurze"/> |
| 44 |
</x-slot> |
| 45 |
</x-app-layout> |
| 46 |
|
| 47 |
#From https://freek.dev/2024-how-to-render-markdown-with-perfectly-highlighted-code-snippets |