A minimal, beautiful, and blazing-fast documentation system for Astro
Check out the live example: myclone.is/docs
- β¨ Clean Design - Minimal and professional documentation layout
- π Built-in Search - Powered by Pagefind for lightning-fast static search
- π± Responsive - Mobile-friendly sidebar navigation
- β‘ Fast - Static site generation for optimal performance
- π¨ Customizable - Easy configuration via
docs-config.ts - π MDX Support - Write interactive documentation with components
- π Zero Config - Works out of the box with sensible defaults
npm install astro-docs-minimal
# or
pnpm add astro-docs-minimal
# or
yarn add astro-docs-minimal-
Install the package
-
Configure your navigation in
src/lib/docs-config.ts:
export const docsConfig = {
title: 'My Project Docs',
description: 'Documentation for my awesome project',
navigation: [
{
section: 'Getting Started',
links: [
{ title: 'Introduction', href: '/docs/introduction' },
{ title: 'Installation', href: '/docs/installation' },
],
},
],
};- Create your docs pages in
src/pages/docs/:
---
// src/pages/docs/introduction.mdx
layout: ../../layouts/DocsLayout.astro
title: Introduction
description: Get started with our project
---
# Introduction
Welcome to the documentation!- Build and deploy:
npm run buildsrc/
βββ layouts/
β βββ DocsLayout.astro # Main docs layout
βββ components/
β βββ DocsSearch.astro # Search component
βββ lib/
β βββ docs-config.ts # Navigation config
β βββ docs-navigation.ts # Navigation data
βββ pages/docs/
β βββ introduction.mdx # Your docs pages
β βββ ...
βββ styles/
βββ global.css # Global styles
Customize your docs in src/lib/docs-config.ts:
export interface DocsConfig {
title: string; // Site title
description: string; // Site description
logo?: string; // Optional logo path
navigation: NavSection[]; // Sidebar navigation
searchPlaceholder?: string; // Search input placeholder
colors?: { // Custom accent colors
accent?: string;
accentHover?: string;
accentLight?: string;
accentText?: string;
};
}Override the default yellow theme by updating the colors object in your config:
colors: {
accent: '#3b82f6', // blue-500
accentHover: '#2563eb', // blue-600
accentLight: '#dbeafe', // blue-100
accentText: '#1e40af', // blue-800
}Add your own styles in src/styles/global.css or override Tailwind classes.
Search is powered by Pagefind and works automatically after building your site.
Build with search:
npm run build && npx pagefind --site distUse .mdx files to include React components in your docs:
---
layout: ../../layouts/DocsLayout.astro
title: Interactive Example
---
import MyComponent from '../../components/MyComponent';
# Interactive Docs
<MyComponent />Supports GitHub Flavored Markdown with:
- Tables
- Task lists
- Code blocks with syntax highlighting
- Autolinked headings
Build for production:
npm run buildDeploy the dist/ directory to any static hosting:
- Vercel
- Netlify
- GitHub Pages
- Cloudflare Pages
MIT
Built with:
Made with β€οΈ for the Astro community

