Skip to content

Commit 7d5a86f

Browse files
committed
wire up article detail
1 parent 975a805 commit 7d5a86f

File tree

4 files changed

+34
-78
lines changed

4 files changed

+34
-78
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace App\Http\Controllers;
4+
5+
use App\Models\Article;
6+
7+
class ShowBlogController extends Controller
8+
{
9+
public function index()
10+
{
11+
return view('blog', [
12+
'articles' => Article::latest()->paginate(6),
13+
]);
14+
}
15+
16+
public function show(Article $article)
17+
{
18+
return view('article', [
19+
'article' => $article,
20+
]);
21+
}
22+
}

app/Models/Article.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ class Article extends Model
1515
'published_at' => 'datetime',
1616
];
1717

18+
public function getRouteKeyName()
19+
{
20+
return 'slug';
21+
}
22+
1823
public function scopePublished(Builder $query): void
1924
{
2025
$query->whereDate('published_at', '<=', now());

resources/views/article.blade.php

Lines changed: 6 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class="mx-auto mt-10 w-full max-w-3xl px-5 md:mt-14"
77
<header class="relative grid place-items-center text-center">
88
{{-- Blurred circle - Decorative --}}
99
<div
10-
class="absolute right-1/2 top-0 -z-30 h-60 w-60 translate-x-1/2 rounded-full blur-[150px] md:w-80 dark:bg-slate-500/50"
10+
class="absolute top-0 right-1/2 -z-30 h-60 w-60 translate-x-1/2 rounded-full blur-[150px] md:w-80 dark:bg-slate-500/50"
1111
aria-hidden="true"
1212
></div>
1313

@@ -66,7 +66,7 @@ class="size-3 shrink-0 -scale-x-100"
6666
"
6767
class="mt-8 text-3xl font-extrabold will-change-transform sm:text-4xl"
6868
>
69-
NativePHP for Desktop v1 is finally here!
69+
{{ $article->title }}
7070
</h1>
7171

7272
{{-- Date --}}
@@ -82,7 +82,7 @@ class="size-5 shrink-0"
8282
datetime="2025-04-09"
8383
class="text-sm"
8484
>
85-
April 9, 2025
85+
{{ $article->published_at->format('F j, Y') }}
8686
</time>
8787
</div>
8888
</header>
@@ -106,7 +106,7 @@ class="text-sm"
106106
})
107107
}
108108
"
109-
class="flex items-center pb-3 pt-3.5 will-change-transform"
109+
class="flex items-center pt-3.5 pb-3 will-change-transform"
110110
aria-hidden="true"
111111
>
112112
<div
@@ -137,81 +137,10 @@ class="size-1.5 rotate-45 bg-gray-200/90 dark:bg-[#242734]"
137137
})
138138
}
139139
"
140-
class="prose mt-2 max-w-none text-gray-600 will-change-transform dark:text-gray-400 dark:prose-headings:text-white"
140+
class="prose dark:prose-headings:text-white mt-2 max-w-none text-gray-600 will-change-transform dark:text-gray-400"
141141
aria-labelledby="article-title"
142142
>
143-
Lorem ipsum dolor sit amet consectetur adipisicing elit. Pariatur
144-
facere dolore praesentium eius amet ex suscipit quam quibusdam
145-
rerum, ratione, veritatis quidem, repudiandae ipsum in. Dolore
146-
voluptatibus iusto saepe cum. Maiores tenetur nobis aliquid
147-
recusandae hic, illo, aliquam laudantium aspernatur iste commodi
148-
temporibus vero maxime, deserunt consequuntur fugiat animi dicta
149-
debitis alias quos amet facere repellendus? Nesciunt, fugiat? Vel,
150-
harum. Eos magnam, totam blanditiis nemo facilis culpa voluptate sed
151-
dolores delectus alias velit, deleniti ex id quasi. Maiores
152-
laboriosam repellendus vitae aliquam voluptas delectus deserunt
153-
provident. Saepe, ullam. Error, ipsam. Facere dolore ullam
154-
reprehenderit debitis et aperiam exercitationem numquam deserunt?
155-
Temporibus asperiores exercitationem commodi vel? Autem, optio?
156-
Tempora, dicta, pariatur dolores repudiandae corrupti beatae
157-
voluptate dignissimos omnis consectetur ratione rerum.
158-
Exercitationem eligendi, sint necessitatibus cumque voluptatum
159-
corrupti incidunt inventore natus cupiditate, obcaecati nisi unde
160-
nesciunt commodi! Eveniet itaque nihil ducimus repellendus et atque
161-
laborum quos? Nostrum, aperiam aut. Ratione, earum! Voluptate
162-
deleniti labore dolor quod nobis atque nam repellendus? Fugiat,
163-
aliquam voluptatum quam cum, veniam mollitia, autem consequatur
164-
officiis dolorem assumenda tempore. Distinctio officiis numquam
165-
omnis quos aperiam minima voluptatibus? Magnam laborum nesciunt eos
166-
qui sed repellendus tenetur harum, id, mollitia a provident
167-
accusantium sint architecto, laudantium sit dolore quia. Vel impedit
168-
quasi nam necessitatibus accusantium saepe praesentium laudantium
169-
ut. Sit dolor voluptas dignissimos doloremque qui atque dolorum.
170-
Aperiam eaque sapiente dicta nulla error laborum eius ex illum
171-
harum, dolor quae illo praesentium ad hic at dolorem iusto
172-
recusandae unde. Ipsa alias tenetur magni reprehenderit nam
173-
consequuntur pariatur consequatur quas aspernatur cumque harum ullam
174-
asperiores corporis distinctio consectetur dicta iusto, iure rem
175-
quos nobis laboriosam eos nulla accusamus et. Similique. Consectetur
176-
hic vel explicabo id assumenda, dolores quos neque asperiores ut,
177-
aperiam a blanditiis est, ullam officia cum error eligendi delectus!
178-
Cupiditate iusto est ad. Magni porro blanditiis quo delectus!
179-
Possimus quis repellat aliquam, quia repudiandae deserunt ipsum
180-
laudantium quaerat impedit veniam quibusdam rerum libero! Nam
181-
laboriosam qui blanditiis nihil soluta, magnam ut fuga voluptatem
182-
voluptatibus doloremque aut, aliquam velit? Soluta in esse dolorem
183-
harum excepturi incidunt qui omnis quidem perferendis, alias culpa
184-
ipsa quaerat delectus quam dolores nulla inventore dicta rerum enim
185-
obcaecati. Officia esse nostrum voluptate mollitia corporis. Numquam
186-
exercitationem fuga debitis soluta. Accusantium a voluptatum
187-
reprehenderit, perferendis dolorum sequi ab consequatur molestiae
188-
necessitatibus consequuntur asperiores expedita? Corporis vel fugiat
189-
distinctio sint magnam eveniet facilis. Corrupti, quisquam
190-
perferendis. Architecto recusandae dolores aspernatur eligendi
191-
laborum iure libero sit vitae optio error cupiditate illo magnam
192-
harum quam, porro debitis repellendus quis iusto nemo, atque nobis
193-
aliquam consequatur? Quo, saepe repudiandae. Rem nostrum quos illo
194-
eos cupiditate culpa eum dolorem debitis odit accusantium quibusdam
195-
eligendi ea quisquam, nam beatae, nihil vitae mollitia totam laborum
196-
necessitatibus veritatis porro error molestias. Exercitationem,
197-
soluta. Eaque suscipit amet impedit illum hic rerum nesciunt. Totam
198-
culpa, quia fuga at blanditiis dolorum rerum iusto ipsa quae
199-
distinctio a placeat dolorem omnis praesentium libero obcaecati
200-
molestiae porro aliquid. Accusantium itaque rerum nobis, quam, non
201-
numquam animi qui cupiditate repellendus repellat veritatis pariatur
202-
expedita debitis veniam beatae rem dicta vel vitae, eaque eos
203-
placeat. Consequatur, facilis commodi. Soluta, incidunt. Beatae
204-
nobis nesciunt quis reiciendis? Velit voluptatum et placeat
205-
accusantium illo suscipit id dolorum cupiditate rem fugiat! Libero
206-
esse, ad dolorum commodi officiis incidunt enim corrupti, fuga
207-
beatae aspernatur expedita? Earum rerum laborum dolore architecto?
208-
Culpa vitae at ipsum sapiente? Labore aliquid, dolor optio voluptas
209-
mollitia recusandae quas sequi tempora corporis. Ipsa voluptate
210-
fugiat omnis perferendis deserunt, itaque quos perspiciatis.
211-
Asperiores explicabo dolore, molestiae, consequatur sint soluta
212-
vitae quae iure reprehenderit hic officia aliquid omnis reiciendis
213-
voluptatibus tempora provident veniam in magni eum et exercitationem
214-
doloribus ullam. Neque, culpa temporibus.
143+
{!! App\Support\CommonMark\CommonMark::convertToHtml($article->content) !!}
215144
</article>
216145
</section>
217146
</x-layout>

resources/views/blog.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class="flex flex-col gap-5"
109109
<x-article-card
110110
:title="$article->title"
111111
:url="route('article', $article)"
112-
:date="$article->published_at->format('Y-m-d')"
112+
:date="$article->published_at"
113113
>
114114
{{ $article->excerpt }}
115115
</x-article-card>

0 commit comments

Comments
 (0)