A proof-of-concept comparing Astro and Docusaurus for building documentation sites, with a focus on component integration and framework flexibility.
- Multi-framework support (Qwik, React)
- Server-side interactive components
- Documentation versioning
- Full-text search with Pagefind
- Dark/Light mode theming
- MDX support
- Syntax highlighting
- Table of contents navigation
- Clone the repository
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
- Build for production:
pnpm build
pnpm dev # Start development server
pnpm build # Build for production (includes type checking)
pnpm preview # Preview production build
pnpm docs:version # Create a new documentation version
/
├── docs/ # Current documentation
├── docs-versions/ # Versioned documentation
├── src/
│ ├── components/
│ │ ├── qwik/ # Qwik components
│ │ └── react/ # React components
│ ├── layouts/ # Astro layouts
│ └── pages/ # Routes
└── astro.config.mjs # Astro configuration
- Framework Flexibility: Mix Qwik and React components
- Performance: Zero JavaScript by default with selective hydration
- Server-First: Interactive components that work without client-side hydration
- Customization: Greater control over implementation details
astro
- Core framework@astrojs/mdx
- MDX support@astrojs/react
- React integration@qwikdev/astro
- Qwik integration
@astrojs/tailwind
- Tailwind CSS integrationtailwindcss
- Utility-first CSS@tailwindcss/typography
- Typography plugin
typescript
- Type checking@astrojs/check
- Astro type checkingtsx
- TypeScript executionpagefind
- Search functionality