Documentation site for the Coral ecosystem of Jellyfin modules.
Live at: docs.getcoral.dev
docs/
├── src/
│ ├── assets/ # Images and static assets
│ ├── content/
│ │ ├── docs/ # Documentation pages
│ │ │ ├── getting-started/
│ │ │ ├── modules/ # Module documentation
│ │ │ ├── libraries/ # Library documentation
│ │ │ ├── contributing/
│ │ │ └── index.mdx # Home page
│ │ └── content.config.ts
│ └── styles.css
├── public/ # Static files
├── astro.config.mjs # Astro configuration
├── vercel.json # Vercel deployment config
├── package.json
└── tsconfig.json
pnpm installpnpm devAccessible at http://localhost:4321
pnpm buildpnpm preview-
Connect repository to Vercel:
- Go to vercel.com/new
- Import the Git repository
- Select the
docsdirectory as the root
-
Configure domain:
- In Vercel project settings → Domains
- Add
docs.getcoral.devas a domain - Update DNS records at your registrar:
docs.getcoral.dev CNAME cname.vercel.com
-
Environment variables (if needed):
- Set in Vercel project settings
- None required for this static site
- Pushes to
mainautomatically deploy - Preview deployments on pull requests
- Rollbacks available in deployment history
# Install Vercel CLI
pnpm add -g vercel
# Deploy from docs directory
cd docs
vercelDocumentation is organized into sections:
- Getting Started - Intro, the Docker Compose stack, the CLI, module contracts
- Modules - Aurora, Tide, Librarian, Fathom, Marquee, KAPOW!, Encore
- Libraries - Jellyfin API client, Coral UI, published npm packages
- Contributing - How to contribute and build new modules
Before editing content, read AGENTS.md — particularly the rule about verifying claims against the source repositories.
Add a .md or .mdx file in src/content/docs/:
---
title: Page Title
description: Page description
---
Your content here...Edit astro.config.mjs to add to navigation:
sidebar: [
{
label: 'Section',
items: [
{ label: 'Page', slug: 'path/to/page' }
]
}
]- Place images in
src/assets/ - Reference in markdown:
pnpm build
pnpm check:links # internal links resolve (run after a build)
pnpm check:env # documented env vars match each module repo's .env.exampleUses Starlight's component library, themed through src/styles.css:
import { Card, CardGrid, Aside } from '@astrojs/starlight/components';
<Card title="Title">Content</Card>
<Aside type="note">Note content</Aside>MIT