๐ 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 onedory.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
- ๐ HTTP client for testing API endpoints (automatic inference from openapi.json)
Install Dory globally to use the CLI tool:
npm install -g @clidey/dory
Once installed, you can use the dory
command:
Builds your documentation site:
- Checks for
dory.json
in current directory - Clears and prepares the
docs
folder - Copies configuration to
docs
folder - Runs the build process
- Creates
dist
folder with build output
dory build
Previews the built documentation site:
- Requires
dist
folder (rundory build
first) - Starts a local preview server
dory preview
Shows CLI usage information:
dory help
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:
git clone https://github.com/clidey/dory.git
cd dory
Install all required dependencies using pnpm
:
pnpm install
Make sure you have pnpm
installed. If not, you can install it via:
npm install -g pnpm
Copy your existing documentation into the ./docs
directory:
rm -rf ./docs
cp ../wherever-the-docs-are/. ./docs
Replace
../wherever-the-docs-are/
with the actual path to your documentation source files.
Start the development server to preview the documentation locally:
pnpm run dev
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:
pnpm run build
This will create a dist
directory containing the fully built static site, ready to be served.
You can use our official Docker image clidey/dory
to create a static server. Simply create a Dockerfile inside the project and build the following Dockerfile:
FROM clidey/dory
WORKDIR /app
COPY . .
RUN dory build
CMD ["dory", "preview"]
You can also build and run the static site inside a Docker container using Nginx:
docker build -f k8s/Dockerfile --tag docs:1.0.0 .
docker run -it -p 8080:80 docs:1.0.0
The site will be available at
http://localhost:8080
inside your browser.
pnpm run build
creates the static site inside thedist
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)
- ๐ GraphQL Client โ integrated GraphQL playground and client support
- ๐ WebSocket Client โ built-in WebSocket utilities for real-time API demos