🐟 A lightweight static site generator for technical documentation.
Dory is a lightweight static site generator built for developers who want fast, clean, and customizable documentation — without the overhead of server-side rendering, complex CI/CD setups, or cloud-specific constraints.
Built with Preact, Vite, Tailwind CSS, Mermaid, and TypeScript.
We created Dory while building a documentation platform and getting frustrated by bloated frameworks, slow build times, and cryptic deployment errors.
Dory is:
- 🧠 Simple — Drop in .mdx files and configure one dory.json.
- ⚡ Fast — Instant hot reload in dev, quick static builds for prod.
- 🌐 Portable — No SSR, no lock-in, deploy anywhere.
- 🧩 Flexible — Hackable theme, readable codebase, minimal magic.
- 📄 Write docs in .mdx (Markdown + JSX)
- 🧭 Configure site structure with a single dory.json
- 🧪 Built-in components for layout, navigation, and code highlighting
- 🔁 Instant hot-reload during development
- 📊 Mermaid support for diagrams and flows
- 🎨 Customizable via Tailwind and minimal theme overrides
- 🌍 Deploy to Netlify, Vercel, S3, GitHub Pages — your call
Follow these steps to set up and preview the documentation locally, as well as build a static site for deployment.
Clone the repository to your local machine:
Install all required dependencies using pnpm:
Make sure you have pnpm installed. If not, you can install it via:
Copy your existing documentation into the ./docs directory:
Replace ../wherever-the-docs-are/ with the actual path to your documentation source files.
Start the development server to preview the documentation locally:
This will launch a local server (typically at http://localhost:3000) where you can preview and edit your documentation in real-time.
To generate a static version of the site for production deployment:
This will create a dist directory containing the fully built static site, ready to be served.
You can also build and run the static site inside a Docker container using Nginx:
The site will be available at http://localhost:8080 inside your browser.
- pnpm run build creates the static site inside the dist folder, which can be served using any static file server.
- The Docker image uses Nginx to serve the contents of the dist folder.
We’re actively improving Dory. Here’s what’s on deck:
- 📚 Full Documentation — comprehensive guides, API docs, and examples
- 🎨 Themes — full theming support with a flexible theme API
- 🌐 Multi-language Support — internationalization (i18n) & localization (l10n)
- 🔌 HTTP Client — built-in HTTP client for live API examples
- 🚀 GraphQL Client — integrated GraphQL playground and client support
- 🔄 WebSocket Client — built-in WebSocket utilities for real-time API demos
.png)

