Skip to content

clidey/dory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

55 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
Dory Logo

Dory

๐ŸŸ 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.


๐Ÿš€ Why Dory?

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.

โœจ Features

  • ๐Ÿ“„ 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)

๐Ÿ“ฆ CLI Installation

Install Dory globally to use the CLI tool:

npm install -g @clidey/dory

CLI Usage

Once installed, you can use the dory command:

dory build

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

dory preview

Previews the built documentation site:

  • Requires dist folder (run dory build first)
  • Starts a local preview server
dory preview

dory help

Shows CLI usage information:

dory help

๐Ÿง‘โ€๐Ÿ’ป Development Setup

Follow these steps to set up and preview the documentation locally, as well as build a static site for deployment.

1๏ธโƒฃ Clone the Repository

Clone the repository to your local machine:

git clone https://github.com/clidey/dory.git
cd dory

2๏ธโƒฃ Install Dependencies

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

3๏ธโƒฃ Copy Documentation Content

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.


4๏ธโƒฃ Start Development Server

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.


5๏ธโƒฃ Build Static Site for Production

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.


๐Ÿณ Docker Deployment (Optional)

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:

Build Docker Image

docker build -f k8s/Dockerfile --tag docs:1.0.0 .

Run Docker Container

docker run -it -p 8080:80 docs:1.0.0

The site will be available at http://localhost:8080 inside your browser.


๐Ÿ“‚ Notes

  • 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.

๐Ÿ”ฎ Roadmap

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

About

A lightweight static site generator for technical documentation.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •