--- import Layout from '../../layouts/Default.astro'; import AuthorDetailCard from '../../components/authors/AuthorDetailCard.astro'; import { Card } from '@eliancodes/brutal-ui'; import { getAllPosts, getAllAuthors, getSettings, invariant, type Post, type Author } from "@matthiesenxyz/astro-ghostcms/api"; import type { InferGetStaticParamsType, InferGetStaticPropsType } from 'astro'; import BlogList from "../../components/blog/BlogList.astro" export async function getStaticPaths() { const posts = await getAllPosts(); const { authors } = await getAllAuthors(); const settings = await getSettings(); return authors.map((author: Author) => { const filteredPosts = posts.filter((post: Post) => post.authors?.map((author) => author.slug).includes(author.slug) ); return { params: { slug: author.slug }, props: { posts: filteredPosts, settings, author, }, }; }); } export type Params = InferGetStaticParamsType; export type Props = InferGetStaticPropsType; const { posts, settings, author } = Astro.props; invariant(settings, "Settings are required"); const title = `Posts by author: ${author.name}`; const description = `All of the articles we've posted and linked so far under the author: ${author.name}`; ---