Press page
Press mentions and press releases at /press — PressGallery component + src/content/press/ MDX collection.
The press sub-page renders media coverage at /press using the PressGallery component from @publier/shell. Press releases live in src/content/press/ as MDX files.
Enable / disable
pages: press: true # false to suppress /pressStarter implementation
The company-site template scaffolds src/pages/press.astro:
---import { PressGallery } from '@publier/shell/components';import BaseLayout from '@publier/shell/layouts/base-layout.astro';---
<BaseLayout title="Press — My Company" description="Coverage, press kit, and media contact."> <main class="max-w-5xl mx-auto my-12 px-6 prose"> <h1>Press</h1> <p> For interviews, quotes, and a media kit, reach out to </p> <PressGallery items={[ { outlet: 'TechCrunch', quote: 'A refreshingly opinionated take on infrastructure tooling.', href: 'https://techcrunch.com/example', date: '2026-03-01', }, { outlet: 'The Register', quote: 'The team behind this has real ops chops.', href: 'https://theregister.com/example', date: '2026-02-18', }, { outlet: 'Hacker News discussion', href: 'https://news.ycombinator.com/example', date: '2026-02-17', }, ]} /> </main></BaseLayout>Press release MDX files
Store press releases as MDX in src/content/press/. They use blogSchema frontmatter:
---title: We raised our seed rounddescription: $4.2M to build the infrastructure platform customers deserve.date: 2026-02-17author: The Teamtags: - press-release---
We're excited to announce that we've closed a $4.2M seed round led by ExampleVentures, with participation from a handful of operators we deeply admire.
## Why this matters
The funding lets us double the engineering team and stay laser-focused onreliability through the end of 2026.
## What stays the same
- Our roadmap. Every feature we've promised ships.- Our pricing. No bait-and-switch.- Our principles. Open communication, no dark patterns.Register the collection in content.config.ts:
import { defineCollection } from 'astro:content';import { contentLoader } from '@publier/shell/loaders';import { blogSchema } from '@publier/shell/schemas';
export const collections = { press: defineCollection({ loader: contentLoader({ base: './src/content/press' }), schema: blogSchema, }),};See PressGallery for the full prop reference.