--- import Layout from '@/layouts/Layout.astro'; import FilterableBookGrid from '@/components/FilterableBookGrid'; import { getCollection } from 'astro:content'; import { serializeBook } from '@/lib/types'; import type { WithContext, CollectionPage } from 'schema-dts'; const allBooks = await getCollection('books'); const uglysBooks = allBooks .filter(book => book.data.collection === 'uglys') .sort((a, b) => a.data.sortOrder - b.data.sortOrder); // Get unique topics for filtering const allTopics = [...new Set(uglysBooks.flatMap(book => book.data.topics))].sort(); const serializedBooks = uglysBooks.map(serializeBook); const siteUrl = import.meta.env.SITE || 'https://forrest.warehack.ing'; const jsonLd: WithContext = { '@context': 'https://schema.org', '@type': 'CollectionPage', name: "Ugly's Electrical References", description: 'The essential pocket reference for electricians - tables, formulas, and NEC code references', url: `${siteUrl}/uglys`, numberOfItems: uglysBooks.length, }; ---