--- // Shared layout for /blog/, category and tag archives (all paginated). import BaseLayout from '../../layouts/BaseLayout.astro'; import { blog, fmt } from '../../lib/data'; import type { Post } from '../../lib/posts'; import Container from '../Container.astro'; import GridLines from '../GridLines.astro'; import SectionHeading from '../SectionHeading.astro'; import Pager from './Pager.astro'; import PostCard from './PostCard.astro'; import Sidebar from './Sidebar.astro'; export interface Props { eyebrow: string; title: string; description: string; /** Posts on this page. */ posts: Post[]; /** All published posts, for the sidebar. */ allPosts: Post[]; current: number; total: number; base: string; activeCategory?: string; activeTag?: string; jsonLd?: Record[]; } const { eyebrow, title, description, posts, allPosts, current, total, base, activeCategory, activeTag, jsonLd, } = Astro.props; const seoTitle = current > 1 ? fmt(blog.list.pageTitle, { title, n: current }) : title; ---

{description}

{posts.length ? (
    {posts.map((post, i) => (
  • ))}
) : (

{blog.list.empty}

)}