✨ Publier v1 is live — a polished docs platform built for the open web.
Skip to content

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

publier.config.yaml
pages:
press: true # false to suppress /press

Starter implementation

The company-site template scaffolds src/pages/press.astro:

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
<a href="mailto:[email protected]">[email protected]</a>.
</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:

src/content/press/seed-announcement.mdx
---
title: We raised our seed round
description: $4.2M to build the infrastructure platform customers deserve.
date: 2026-02-17
author: The Team
tags:
- press-release
---
We're excited to announce that we've closed a $4.2M seed round led by Example
Ventures, 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 on
reliability 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:

src/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.