import { Footer, Layout, Navbar } from 'nextra-theme-docs' import Link from 'next/link' import Script from 'next/script' import { Head } from 'nextra/components' import { getPageMap } from 'nextra/page-map' import { Outfit, JetBrains_Mono } from 'next/font/google' import type { Metadata, Viewport } from 'next' import type { ReactNode } from 'react' import 'nextra-theme-docs/style.css' import './globals.css' const outfit = Outfit({ subsets: ['latin'], variable: '--font-outfit', }) const jetbrainsMono = JetBrains_Mono({ subsets: ['latin'], variable: '--font-mono', }) export const metadata: Metadata = { metadataBase: new URL('https://docs.thealtstack.com'), title: { default: 'AltStack Docs — Self-Hosting Guides & Deploy Recipes', template: '%s — AltStack Docs', }, description: 'Step-by-step guides to self-host open source software. Docker Compose configs, deployment recipes, and stack-building guides for developers and teams.', openGraph: { title: 'AltStack Docs', description: 'Self-hosting guides, deploy configs, and stack-building recipes for open source software.', url: 'https://docs.thealtstack.com', siteName: 'AltStack Docs', locale: 'en_US', type: 'website', }, twitter: { card: 'summary_large_image', title: 'AltStack Docs', description: 'Self-hosting guides, deploy configs, and stack recipes.', }, } export const viewport: Viewport = { themeColor: '#050505', } import AIChatLinks from '../components/AIChatLinks' function Logo() { return (
{/* Bottom Layer (Slate) */} {/* Middle Layer (Glass) */} {/* Top Layer (Red) */}
AltStackdocs
) } const navbar = ( } > ) const footer = ( ) export default async function RootLayout({ children, }: { children: ReactNode }) { return ( {/* Google Analytics */}