Package Exports
- @scalar/hono-api-reference
Readme
Scalar for Hono
This middleware provides an easy way to render a beautiful API reference based on an OpenAPI/Swagger document with Hono.
Installation
npm install @scalar/hono-api-referenceUsage
Set up Zod OpenAPI Hono and pass the configured URL to the apiReference middleware:
import { apiReference } from '@scalar/hono-api-reference'
app.get(
'/reference',
apiReference({
url: '/doc',
}),
)The Hono middleware takes our universal configuration object, read more about configuration in the core package README.
CORS middleware
We recommend to allow requests from other domains to your API definition. That makes it easier to use your API with our free web client for example.
You just need to add the official Hono CORS middleware to the route of your OpenAPI document:
import { cors } from 'hono/cors'
// Recommended: Allows cross-origin requests (from other domains) to your OpenAPI document
app.use('/doc', cors())Themes
The middleware comes with a custom theme for Hono. You can use one of the other predefined themes (alternate, default, moon, purple, solarized) or overwrite it with none. All themes come with a light and dark color scheme.
import { apiReference } from '@scalar/hono-api-reference'
app.get(
'/reference',
apiReference({
theme: 'purple',
url: '/doc',
}),
)Custom page title
There’s one additional option to set the page title:
import { apiReference } from '@scalar/hono-api-reference'
app.get(
'/reference',
apiReference({
pageTitle: 'Hono API Reference',
url: '/doc',
}),
)Custom CDN
You can use a custom CDN ,default is https://cdn.jsdelivr.net/npm/@scalar/api-reference.
You can also pin the CDN to a specific version by specifying it in the CDN string like https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.25.28
You can find all available CDN versions here
import { apiReference } from '@scalar/hono-api-reference'
app.use(
'/reference',
apiReference({
cdn: 'https://cdn.jsdelivr.net/npm/@scalar/api-reference@latest',
url: '/doc',
}),
)Community
We are API nerds. You too? Let’s chat on Discord: https://discord.gg/scalar
License
The source code in this repository is licensed under MIT.