This skill should be used when initializing a new Docusaurus documentation site with TypeScript and custom dark mode theme...
Initialize and configure Docusaurus documentation sites with TypeScript and custom dark mode theme.
Initialize a new Docusaurus site when:
Follow the 4-step initialization workflow:
Create a new Docusaurus project:
pnpm create docusaurus@latest my-website classic --typescript
cd my-website
This creates:
my-website/
āāā docs/ # Documentation files
āāā blog/ # Blog posts
āāā src/ # Custom pages
āāā static/ # Static assets
āāā docusaurus.config.ts # Main configuration
āāā sidebars.ts # Navigation structure
āāā package.json # Dependencies
Verify installation:
pnpm install
pnpm run build
For detailed setup guidance, see references/initialization-guide.md.
Apply the dark mode optimized custom theme:
bash scripts/install-robotics-theme.sh
This:
assets/robotics-theme/custom.csssrc/css/ directory if neededCopy the configuration template:
cp assets/config-templates/docusaurus.config.template.ts docusaurus.config.ts
Edit docusaurus.config.ts with your site details:
export default {
title: 'Your Site Title', // Change this
url: 'https://example.com', // Your domain
baseUrl: '/', // / for root, /project/ for subdirectory
favicon: 'img/favicon.ico', // Your favicon
// ... other config
};
Key configuration options:
| Option | Purpose | Example |
|---|---|---|
title |
Browser tab title | "My Documentation" |
url |
Production domain | "https://docs.example.com" |
baseUrl |
URL path | "/" or "/docs/" |
favicon |
Tab icon | "img/favicon.ico" |
For detailed configuration help, see references/theming-guide.md.
Build and test locally:
# Type check
pnpm run typecheck
# Build production bundle
pnpm run build
# Start development server
pnpm run start
Expected results:
scripts/install-robotics-theme.sh - Theme installer scriptassets/robotics-theme/custom.css - Dark mode optimized stylesheet with:assets/config-templates/docusaurus.config.template.ts - Fully annotated configuration with:references/initialization-guide.md - Complete Docusaurus setup walkthroughreferences/theming-guide.md - Custom CSS and theme customizationreferences/troubleshooting-init.md - Common issues and solutionsEdit src/css/custom.css:
:root {
--primary-color: #3b82f6; /* Change to your brand color */
--primary-dark: #1e40af;
--primary-light: #60a5fa;
}
Then rebuild:
pnpm run clear
pnpm run start
Edit docusaurus.config.ts navbar section:
navbar: {
items: [
{ to: '/docs/intro', label: 'Docs', position: 'left' },
{ href: 'https://github.com', label: 'GitHub', position: 'right' },
],
}
Option 1: Local search (no setup needed)
plugins: [
[
require.resolve("@easyops-cn/docusaurus-search-local"),
{ hashed: true },
],
],
Option 2: Algolia DocSearch (requires API key)
algolia: {
appId: 'YOUR_APP_ID',
apiKey: 'YOUR_API_KEY',
indexName: 'YOUR_INDEX',
},
After initialization:
docs/sidebars.ts for your structuresrc/css/custom.css for your brandingdocusaurus-deployer skill to publish to GitHub PagesCommon issues:
Port 3000 already in use
pnpm start -- --port 3001
Changes not reflecting
pnpm run clear
pnpm start
Build fails
pnpm run typecheck # Check for TypeScript errors
rm -rf node_modules # Reinstall if corrupted
pnpm install
pnpm run build
For more solutions, see references/troubleshooting-init.md.
This skill prepares your site for deployment with docusaurus-deployer:
docusaurus-deployer to publish to GitHub PagesWorkflow:
docusaurus-initializer ā Add content ā docusaurus-deployer
ā ā
Setup + Theme Live on GitHub Pages