@scalar/hono-api-reference

v0.5.60
A middleware for using the Scalar API reference in Hono

Scalar for Hono

Version Downloads License Discord

This middleware provides an easy way to render a beautiful API reference based on an OpenAPI/Swagger document with Hono.

hono-js

Installation

npm install @scalar/hono-api-reference

Usage

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({
    spec: {
      url: '/openapi.json',
    },
  }),
)

The Hono middleware takes our universal configuration object, read more about configuration in the core package README.

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',
    spec: {
      url: '/openapi.json',
    },
  }),
)

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',
    spec: {
      url: '/openapi.json',
    },
  }),
)

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/[email protected]

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',
    spec: {
      content: OpenApiSpecification,
    },
  }),
)

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.

npm i @scalar/[email protected]

Metadata

  • MIT
  • >=18
  • Scalar
  • released 5/31/2024

Downloads