@@ -91,7 +91,7 @@ const paginatedContent = sortedContent.slice(startIndex, endIndex)
9191 <h1 class =" text-page-inverse" >
9292 { tagEntry .data .displayName }
9393 </h1 >
94- <span class =" inline-flex w-fit rounded-full bg-page-inverse px-3 py-1 text-sm font-semibold text-page-base whitespace-nowrap sm: ml-2 sm:mt-2" >
94+ <span class =" inline-flex w-fit rounded-full bg-page-inverse px-3 py-1 text-sm font-semibold text-page-base whitespace-nowrap ml-2 sm:mt-2" >
9595 { totalItems } { totalItems === 1 ? ' article' : ' articles' }
9696 </span >
9797 </div >
@@ -102,7 +102,7 @@ const paginatedContent = sortedContent.slice(startIndex, endIndex)
102102 </p >
103103 )}
104104
105- <div class =" mt-2 sm:mt-0 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-content-offset" >
105+ <div class =" flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-content-offset mt-2 sm:mt-0 ml-3 sm:ml-0 " >
106106 { sortedContent .length > 0 && (
107107 <span class = " text-content-active" >
108108 Latest: <time class = " font-medium text-content" >{ sortedContent [0 ]! .data .publishDate .toLocaleDateString (' en-US' , { month: ' short' , day: ' numeric' , year: ' numeric' })} </time >
@@ -131,9 +131,12 @@ const paginatedContent = sortedContent.slice(startIndex, endIndex)
131131 const href = ` /articles/${item .id } `
132132
133133 return (
134- <article class = " bg-content-inverse rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1 overflow-hidden group" >
135- { item .data .cover && (
136- <a href = { href } class = " block" >
134+ <article class = " group h-full relative after:pointer-events-none after:absolute after:content-[''] after:inset-0 after:rounded-none after:border-2 after:border-transparent after:opacity-0 after:transition-opacity after:duration-150 after:ease-out focus-within:after:opacity-100 focus-within:after:-inset-1.5 focus-within:after:border-spotlight" >
135+ <a
136+ href = { href }
137+ class = " block h-full bg-content-inverse rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1 overflow-hidden focus-visible:outline-none"
138+ >
139+ { item .data .cover && (
137140 <div class = " relative aspect-video overflow-hidden" >
138141 <Picture
139142 src = { item .data .cover }
@@ -148,40 +151,35 @@ const paginatedContent = sortedContent.slice(startIndex, endIndex)
148151 loading = " lazy"
149152 />
150153 </div >
151- </a >
152- )}
154+ )}
153155
154- <div class = " p-6 space-y-4" >
155- <div class = " flex items-center gap-3 text-sm" >
156- <span
157- class = " px-3 py-1 rounded-full text-white font-medium bg-primary"
158- >
159- Article
160- </span >
161- <time datetime = { item .data .publishDate .toISOString ()} >
162- { item .data .publishDate .toLocaleDateString (' en-US' , {
163- year: ' numeric' ,
164- month: ' long' ,
165- day: ' numeric' ,
166- })}
167- </time >
168- </div >
156+ <div class = " p-6 space-y-4" >
157+ <div class = " flex items-center gap-3 text-sm" >
158+ <span
159+ class = " px-3 py-1 rounded-full text-white font-medium bg-primary"
160+ >
161+ Article
162+ </span >
163+ <time datetime = { item .data .publishDate .toISOString ()} >
164+ { item .data .publishDate .toLocaleDateString (' en-US' , {
165+ year: ' numeric' ,
166+ month: ' long' ,
167+ day: ' numeric' ,
168+ })}
169+ </time >
170+ </div >
169171
170- <h2 class = " text-xl font-semibold leading-tight" >
171- <a
172- href = { href }
173- class = " group-hover:text-primary transition-colors duration-300"
174- >
172+ <h2 class = " text-xl font-semibold leading-tight group-hover:text-primary transition-colors duration-300" >
175173 { item .data .title }
176- </a >
177- </h2 >
174+ </h2 >
178175
179- { item .data .description && (
180- <p class = " text-sm leading-relaxed line-clamp-3" >
181- { item .data .description }
182- </p >
183- )}
184- </div >
176+ { item .data .description && (
177+ <p class = " text-sm leading-relaxed line-clamp-3" >
178+ { item .data .description }
179+ </p >
180+ )}
181+ </div >
182+ </a >
185183 </article >
186184 )
187185 })}
0 commit comments