XY-mode Lissajous display renders stereo audio on a canvas inside a warm champagne bezel with recessed CRT bay, labeled control sections (Vertical/Horizontal/Trigger), rotary knobs, and power LED. Uses modern AnalyserNode + rAF pipeline instead of deprecated ScriptProcessor. Audio: "Spirals" by Jerobeam Fenderson (CC BY-NC-SA 4.0) Visual: Nick Watton, adapted from gist by rsp2k
84 lines
2.9 KiB
JavaScript
84 lines
2.9 KiB
JavaScript
import { defineConfig } from 'astro/config';
|
|
import starlight from '@astrojs/starlight';
|
|
import tailwindcss from '@tailwindcss/vite';
|
|
|
|
export default defineConfig({
|
|
site: 'https://mcltspice.warehack.ing',
|
|
telemetry: false,
|
|
devToolbar: { enabled: false },
|
|
integrations: [
|
|
starlight({
|
|
title: 'mcltspice',
|
|
tagline: 'LTspice circuit simulation via MCP',
|
|
components: {
|
|
Hero: './src/components/Hero.astro',
|
|
},
|
|
social: [
|
|
{ icon: 'external', label: 'Gitea', href: 'https://git.supported.systems/MCP/mcltspice' },
|
|
{ icon: 'external', label: 'PyPI', href: 'https://pypi.org/project/mcltspice/' },
|
|
],
|
|
editLink: {
|
|
baseUrl: 'https://git.supported.systems/MCP/mcltspice/_edit/main/docs/',
|
|
},
|
|
customCss: ['./src/styles/custom.css'],
|
|
sidebar: [
|
|
{
|
|
label: 'Getting Started',
|
|
items: [
|
|
{ label: 'Overview', slug: 'getting-started' },
|
|
{ label: 'Prerequisites', slug: 'getting-started/prerequisites' },
|
|
{ label: 'Claude Code Setup', slug: 'getting-started/claude-code' },
|
|
{ label: 'First Simulation', slug: 'getting-started/first-simulation' },
|
|
],
|
|
},
|
|
{
|
|
label: 'Tutorials',
|
|
badge: { text: 'Learn', variant: 'tip' },
|
|
items: [
|
|
{ label: 'Overview', slug: 'tutorials' },
|
|
{ label: 'Design a Filter', slug: 'tutorials/design-a-filter' },
|
|
{ label: 'Monte Carlo Yield', slug: 'tutorials/monte-carlo-yield' },
|
|
],
|
|
},
|
|
{
|
|
label: 'Reference',
|
|
collapsed: false,
|
|
items: [
|
|
{ label: 'Overview', slug: 'reference' },
|
|
{ label: 'Simulation', slug: 'reference/simulation' },
|
|
{ label: 'Waveform', slug: 'reference/waveform' },
|
|
{ label: 'Signal Analysis', slug: 'reference/signal-analysis' },
|
|
{ label: 'Noise', slug: 'reference/noise' },
|
|
{ label: 'Stability & Power', slug: 'reference/stability-power' },
|
|
{ label: 'Schematic & Netlist', slug: 'reference/schematic-netlist' },
|
|
{ label: 'Library & Templates', slug: 'reference/library-templates' },
|
|
{ label: 'Resources', slug: 'reference/resources' },
|
|
{ label: 'Prompts', slug: 'reference/prompts' },
|
|
],
|
|
},
|
|
{
|
|
label: 'Concepts',
|
|
collapsed: true,
|
|
items: [
|
|
{ label: 'LTspice on Linux', slug: 'concepts/ltspice-on-linux' },
|
|
{ label: 'Simulation Types', slug: 'concepts/simulation-types' },
|
|
],
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
vite: {
|
|
plugins: [tailwindcss()],
|
|
server: {
|
|
host: '0.0.0.0',
|
|
...(process.env.VITE_HMR_HOST && {
|
|
hmr: {
|
|
host: process.env.VITE_HMR_HOST,
|
|
protocol: 'wss',
|
|
clientPort: 443,
|
|
},
|
|
}),
|
|
},
|
|
},
|
|
});
|