mcserial/docs/astro.config.mjs
Ryan Malloy dc8caddb8f Add Starlight documentation site with full content
Astro 5 + Starlight docs site with 17 pages covering all 30 mcserial
tools. Structured using Diataxis framework: tutorials, guides, reference,
and concepts. Includes Docker + caddy-docker-proxy deployment for
mcserial.l.zmesh.systems with HMR support behind reverse proxy.

Content pages:
- Landing page with feature overview and quick start
- Tutorials: getting started, loopback testing (loop://)
- Guides: RS-232 basics, RS-485/Modbus, file transfers, network ports
- Reference: common tools, RS-232 tools, RS-485 tools, file transfer
  tools, URL schemes, MCP resources, environment variables
- Concepts: RS-232 vs RS-485, flow control
2026-02-02 22:01:48 -07:00

77 lines
1.7 KiB
JavaScript

// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
export default defineConfig({
site: process.env.PUBLIC_DOMAIN
? `https://${process.env.PUBLIC_DOMAIN}`
: 'http://localhost:4321',
telemetry: false,
devToolbar: { enabled: false },
vite: {
server: {
host: '0.0.0.0',
allowedHosts: process.env.PUBLIC_DOMAIN
? [process.env.PUBLIC_DOMAIN, 'localhost']
: ['localhost'],
...(process.env.VITE_HMR_HOST && {
hmr: {
host: process.env.VITE_HMR_HOST,
protocol: 'wss',
clientPort: 443,
},
}),
},
},
integrations: [
starlight({
title: 'mcserial',
description: 'MCP server for serial port communication — RS-232, RS-485, and file transfers via Model Context Protocol',
logo: {
src: './src/assets/logo.svg',
replacesTitle: false,
},
social: [
{
icon: 'github',
label: 'GitHub',
href: 'https://github.com/supported-systems/mcserial',
},
],
customCss: ['./src/styles/custom.css'],
sidebar: [
{
label: 'Overview',
items: [{ label: 'Introduction', link: '/' }],
},
{
label: 'Tutorials',
autogenerate: { directory: 'tutorials' },
},
{
label: 'Guides',
autogenerate: { directory: 'guides' },
},
{
label: 'Reference',
autogenerate: { directory: 'reference' },
},
{
label: 'Concepts',
autogenerate: { directory: 'concepts' },
},
],
tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 3 },
}),
],
});