site: ui/ux refresh, seo pass, find/lists indexes, 25 new finds
- newspaper-style masthead (stats | "Unique" | About/Blog) on every page with per-page italic subheader + last-updated date on listing pages; sitewide 42rem reading width - pinterest home (hero + masonry, "load more"); old list view at /index3/ - new pages: /about, /blog, /legal, /find/, /finds/, custom 404 - footer collection links now clickable; "founded" stat replaces "updated" in the masthead - centralised SEO component with per-page json-ld (Review, BlogPosting, Product, Article, CollectionPage, ItemList, BreadcrumbList, etc.); @astrojs/sitemap + @astrojs/rss; robots.txt; promoted finds canonical to their review - memoize getSiteStats() so the masthead/footer counts don't multiply per-page build cost - 25 new daily-finds captures
This commit is contained in:
+11
-17
@@ -13,14 +13,17 @@ const tiles = reviews.map((review) => ({
|
||||
subtitle: review.data.subtitle,
|
||||
hero: heroes[review.id],
|
||||
}));
|
||||
|
||||
const lastUpdated = reviews[0]?.data.date;
|
||||
---
|
||||
|
||||
<BaseLayout title="Grid" wide>
|
||||
<div class="intro">
|
||||
<h1>Grid view</h1>
|
||||
<p><a href="/">← list view</a></p>
|
||||
</div>
|
||||
|
||||
<BaseLayout
|
||||
title="Grid"
|
||||
description="Every review on Unique, tiled in a single grid."
|
||||
subheader="Every review as a tile."
|
||||
lastUpdated={lastUpdated}
|
||||
noindex
|
||||
>
|
||||
<ul class="grid">
|
||||
{
|
||||
tiles.map((tile) => (
|
||||
@@ -34,7 +37,7 @@ const tiles = reviews.map((review) => ({
|
||||
height={tile.hero.src.height}
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
alt=""
|
||||
alt={tile.name}
|
||||
/>
|
||||
)}
|
||||
{tile.hero?.kind === 'video' && (
|
||||
@@ -46,6 +49,7 @@ const tiles = reviews.map((review) => ({
|
||||
muted
|
||||
playsinline
|
||||
preload="metadata"
|
||||
aria-label={tile.name}
|
||||
/>
|
||||
)}
|
||||
<div class="text">
|
||||
@@ -59,16 +63,6 @@ const tiles = reviews.map((review) => ({
|
||||
</ul>
|
||||
|
||||
<style>
|
||||
.intro {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
.intro h1 { margin: 0; font-size: 1.5rem; }
|
||||
.intro p { margin: 0; font-size: 0.9rem; color: var(--muted); }
|
||||
|
||||
.grid {
|
||||
column-count: 3;
|
||||
column-gap: 1rem;
|
||||
|
||||
Reference in New Issue
Block a user