https://github.com/minuth/docura
A modern, customizable documentation viewer for OpenAPI/Swagger
https://github.com/minuth/docura
api-documentation api-tools api-viewer documentation openapi openapi-specification rapidoc rapipdf swagger swagger-ui
Last synced: 5 months ago
JSON representation
A modern, customizable documentation viewer for OpenAPI/Swagger
- Host: GitHub
- URL: https://github.com/minuth/docura
- Owner: minuth
- License: mit
- Created: 2025-08-21T15:53:36.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-08-23T18:48:04.000Z (5 months ago)
- Last Synced: 2025-08-23T19:39:31.987Z (5 months ago)
- Topics: api-documentation, api-tools, api-viewer, documentation, openapi, openapi-specification, rapidoc, rapipdf, swagger, swagger-ui
- Language: JavaScript
- Homepage: https://docura-playground.netlify.app/
- Size: 1.37 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```bash
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](https://rapidocweb.com/api.html)
## 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 `` element
- Extend functionality by modifying `index.js`
## Build and deploy
Development
```bash
npm run dev
```
Production build
```bash
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.
- RapiDoc: https://github.com/rapi-doc/RapiDoc
- RapiPdf: https://github.com/mrin9/RapiPdf