Skip to content

minuth/docura

Repository files navigation

Docura

Docura is a lightweight API documentation platform built on top of the excellent RapiDoc project. Drop your OpenAPI specs (YAML or JSON) into a folder and get a ready-to-use docs site with search, Try-It, and PDF export.

This project wraps RapiDoc and RapiPdf for a simple, zero-backend workflow. You still have full access to RapiDoc’s attributes and theming when you need them.

Usage

npx create-docura-app my-api-docs
cd my-api-docs
npm install
npm run dev

Notes

  • Requires Node.js 14+ (18+ recommended).
  • A spec manifest is generated automatically at dev and build.

What it creates

  • index.html - Main page with RapiDoc component
  • index.js - App logic for project switching, file upload, PDF generation
  • styles.css - Styling with CSS custom properties for easy theming
  • vite.config.js - Build configuration with spec manifest generation
  • public/spec/ - Directory with demo OpenAPI specs
  • package.json - Project dependencies and scripts
  • public/spec-manifest.json - Auto-generated map of available specs (don’t edit)

Features

The generated project includes:

  • 📁 Multi-spec support - Drop .yml/.yaml/.json files in public/spec/
  • 📤 Local upload - Upload specs directly from your machine
  • 📄 PDF export - Generate documentation PDFs
  • 🎨 Easy theming - Customize appearance using the official RapiDoc theming API

Add your specs

  • Place .yml, .yaml, or .json files in public/spec/.
  • The Vite plugin writes public/spec-manifest.json that powers the Project dropdown.

You can also click “Upload Local Spec” to load a file without placing it in the repo.

Customization

The scaffolded project is fully customizable. You can:

  • Add your own OpenAPI specs by placing .yml, .yaml, or .json files in the public/spec/ directory
  • Customize the look and feel by editing styles.css to adjust colors, fonts, and layout
  • Configure RapiDoc by adding attributes to the <rapi-doc> element
  • Extend functionality by modifying index.js

Build and deploy

Development

npm run dev

Production build

npm run build
npm run preview # optional local preview

The output is static (in dist/) and can be hosted on any static host (Netlify, Vercel, GitHub Pages, S3, etc.).

Credits

Docura is built on top of RapiDoc and RapiPdf. Big thanks to the RapiDoc team and contributors.