Documentation site for Flutter Certilia, built with Fumadocs and Next.js.
npm installThis project uses Orama Cloud for search functionality. You need to set up your search credentials:
-
Copy the environment template:
cp .env.local.example .env.local
-
Get your Orama Cloud credentials:
- Create a free account at https://cloud.orama.com/
- Create a new index with "Crawler" type
- Select "Documentation" preset
- Copy your API Key and Endpoint URL from the dashboard
-
Add credentials to
.env.local:NEXT_PUBLIC_ORAMA_API_KEY=your_public_api_key_here NEXT_PUBLIC_ORAMA_ENDPOINT=https://cloud.orama.run/v1/indexes/your-index-id NEXT_PUBLIC_ORAMA_INDEX_TYPE=crawler
npm run devOpen http://localhost:3000 to view the site.
- Create MDX files in
content/docs/ - Use frontmatter for metadata:
--- title: Page Title description: Page description --- Your content here...
- Run
npm run postinstallto regenerate the content index
npm run dev # Start development server with Turbo
npm run build # Build for production (static output)
npm start # Start production server
npm run lint # Run Biome linter
npm run format # Format code with BiomeThis site is fully static and can be deployed to any static hosting platform:
Build Settings:
- Build command:
npm run build - Output directory:
.next
Environment Variables: Add these in your hosting dashboard:
NEXT_PUBLIC_ORAMA_API_KEY=your_api_key
NEXT_PUBLIC_ORAMA_ENDPOINT=your_endpoint_url
NEXT_PUBLIC_ORAMA_INDEX_TYPE=crawler
After Deployment:
- Your site will be live at the provided URL
- Go to Orama Cloud dashboard and configure the crawler with your deployed URL
- Trigger the crawler to index your site
- Search will work once indexing is complete
Same build settings as above. Add environment variables in their respective dashboards.
├── app/
│ ├── (home)/ # Landing page
│ ├── docs/ # Documentation pages
│ ├── og/ # OpenGraph image generation
│ └── llms-full.txt/ # LLM-friendly text export
├── content/
│ └── docs/ # MDX documentation files
├── lib/
│ ├── source.ts # Content loader
│ ├── search.config.ts # Orama Cloud configuration
│ └── layout.shared.tsx # Shared layout config
├── .source/ # Auto-generated (gitignored)
└── source.config.ts # MDX processing config
- Never commit
.env.local- it's gitignored for security - The
.source/directory is auto-generated - don't edit it directly - Search requires Orama Cloud credentials to function
- All pages are pre-rendered at build time (SSG)
[Add your license here]