0.9.3 • Published 11 months ago

@scalar/hono-api-reference v0.9.3

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

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 or Hono OpenAPI and pass the configured URL to the Scalar middleware:

import { Hono } from 'hono'
import { Scalar } from '@scalar/hono-api-reference'

const app = new Hono()

// Use the middleware to serve the Scalar API Reference at /scalar
app.get('/scalar', Scalar({ url: '/doc' }))

// Or with dynamic configuration
app.get('/scalar', Scalar((c) => {
  return {
    url: '/doc',
    proxyUrl: c.env.ENVIRONMENT === 'development' ? 'https://proxy.scalar.com' : undefined,
  }
}))

export default app

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 { Scalar } from '@scalar/hono-api-reference'

// Switch the theme (or pass other options)
app.get('/scalar', Scalar({
  url: '/doc',
  theme: 'purple',
}))

Custom page title

There’s one additional option to set the page title:

import { Scalar } from '@scalar/hono-api-reference'

// Set a page title
app.get('/scalar', Scalar({
  url: '/doc',
  pageTitle: 'Awesome API',
}))

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 { Scalar } from '@scalar/hono-api-reference'

app.get('/scalar', Scalar({ url: '/doc', pageTitle: 'Awesome API' }))

app.get('/scalar', Scalar({
  url: '/doc',
  cdn: 'https://cdn.jsdelivr.net/npm/@scalar/api-reference@latest',
}))

Markdown for LLMs

If you want to create a Markdown version of the API reference (for LLMs), install @scalar/openapi-to-markdown:

npm install @scalar/openapi-to-markdown

And add an additional route for it:

import { Hono } from 'hono'
import { createMarkdownFromOpenApi } from '@scalar/openapi-to-markdown'

const app = new Hono()

// Generate Markdown from your OpenAPI document
const markdown = await createMarkdownFromOpenApi(content)

/**
 * Register a route to serve the Markdown for LLMs
 *
 * Q: Why /llms.txt?
 * A: It's a proposal to standardise on using an /llms.txt file.
 *
 * @see https://llmstxt.org/
 */
app.get('/llms.txt', (c) => c.text(markdown))

export default app

Or, if you are using Zod OpenAPI Hono:

// Get the OpenAPI document
const content = app.getOpenAPI31Document({
  openapi: '3.1.0',
  info: { title: 'Example', version: 'v1' },
})

const markdown = await createMarkdownFromOpenApi(JSON.stringify(content))

app.get('/llms.txt', async (c) => {
  return c.text(markdown)
})

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.

0.8.9

12 months ago

0.8.8

12 months ago

0.8.5

1 year ago

0.8.4

1 year ago

0.8.7

12 months ago

0.8.6

12 months ago

0.7.2

1 year ago

0.7.1

1 year ago

0.7.4

1 year ago

0.7.3

1 year ago

0.7.0

1 year ago

0.9.3

11 months ago

0.8.1

1 year ago

0.8.0

1 year ago

0.8.3

1 year ago

0.8.2

1 year ago

0.7.5

1 year ago

0.6.0

1 year ago

0.5.172

1 year ago

0.5.171

1 year ago

0.5.174

1 year ago

0.5.173

1 year ago

0.5.170

1 year ago

0.5.179

1 year ago

0.5.176

1 year ago

0.5.175

1 year ago

0.5.178

1 year ago

0.5.177

1 year ago

0.5.183

1 year ago

0.5.184

1 year ago

0.5.181

1 year ago

0.5.180

1 year ago

0.5.159

1 year ago

0.5.161

1 year ago

0.5.160

1 year ago

0.5.163

1 year ago

0.5.162

1 year ago

0.5.169

1 year ago

0.5.168

1 year ago

0.5.165

1 year ago

0.5.164

1 year ago

0.5.167

1 year ago

0.5.166

1 year ago

0.9.2

11 months ago

0.9.1

11 months ago

0.8.10

11 months ago

0.5.158

1 year ago

0.5.157

1 year ago

0.5.156

2 years ago

0.5.155

2 years ago

0.5.154

2 years ago

0.5.149

2 years ago

0.5.150

2 years ago

0.5.152

2 years ago

0.5.151

2 years ago

0.5.153

2 years ago

0.5.147

2 years ago

0.5.148

2 years ago

0.5.146

2 years ago

0.5.145

2 years ago

0.5.144

2 years ago

0.5.103

2 years ago

0.5.102

2 years ago

0.5.105

2 years ago

0.5.104

2 years ago

0.5.101

2 years ago

0.5.100

2 years ago

0.5.54

2 years ago

0.5.55

2 years ago

0.5.130

2 years ago

0.5.52

2 years ago

0.5.53

2 years ago

0.5.50

2 years ago

0.5.51

2 years ago

0.5.136

2 years ago

0.5.135

2 years ago

0.5.138

2 years ago

0.5.137

2 years ago

0.5.132

2 years ago

0.5.58

2 years ago

0.5.131

2 years ago

0.5.59

2 years ago

0.5.134

2 years ago

0.5.56

2 years ago

0.5.133

2 years ago

0.5.57

2 years ago

0.5.129

2 years ago

0.5.128

2 years ago

0.5.44

2 years ago

0.5.141

2 years ago

0.5.140

2 years ago

0.5.49

2 years ago

0.5.143

2 years ago

0.5.47

2 years ago

0.5.142

2 years ago

0.5.48

2 years ago

0.5.45

2 years ago

0.5.46

2 years ago

0.5.139

2 years ago

0.5.114

2 years ago

0.5.113

2 years ago

0.5.116

2 years ago

0.5.115

2 years ago

0.5.110

2 years ago

0.5.112

2 years ago

0.5.111

2 years ago

0.5.107

2 years ago

0.5.106

2 years ago

0.5.109

2 years ago

0.5.125

2 years ago

0.5.124

2 years ago

0.5.127

2 years ago

0.5.126

2 years ago

0.5.121

2 years ago

0.5.120

2 years ago

0.5.123

2 years ago

0.5.122

2 years ago

0.5.118

2 years ago

0.5.117

2 years ago

0.5.119

2 years ago

0.5.98

2 years ago

0.5.99

2 years ago

0.5.96

2 years ago

0.5.97

2 years ago

0.5.94

2 years ago

0.5.95

2 years ago

0.5.92

2 years ago

0.5.90

2 years ago

0.5.91

2 years ago

0.5.87

2 years ago

0.5.88

2 years ago

0.5.85

2 years ago

0.5.86

2 years ago

0.5.84

2 years ago

0.5.81

2 years ago

0.5.82

2 years ago

0.5.89

2 years ago

0.5.80

2 years ago

0.5.76

2 years ago

0.5.77

2 years ago

0.5.74

2 years ago

0.5.72

2 years ago

0.5.73

2 years ago

0.5.71

2 years ago

0.5.78

2 years ago

0.5.65

2 years ago

0.5.66

2 years ago

0.5.63

2 years ago

0.5.64

2 years ago

0.5.61

2 years ago

0.5.62

2 years ago

0.5.60

2 years ago

0.5.69

2 years ago

0.5.67

2 years ago

0.5.68

2 years ago

0.5.43

2 years ago

0.5.42

2 years ago

0.5.41

2 years ago

0.5.40

2 years ago

0.5.39

2 years ago

0.5.38

2 years ago

0.5.36

2 years ago

0.5.37

2 years ago

0.5.34

2 years ago

0.5.35

2 years ago

0.5.33

2 years ago

0.5.32

2 years ago

0.5.31

2 years ago

0.5.30

2 years ago

0.5.29

2 years ago

0.5.27

2 years ago

0.5.28

2 years ago

0.5.25

2 years ago

0.5.26

2 years ago

0.5.24

2 years ago

0.5.20

2 years ago

0.5.19

2 years ago

0.5.18

2 years ago

0.5.17

2 years ago

0.5.16

2 years ago

0.5.14

2 years ago

0.5.15

2 years ago

0.5.11

2 years ago

0.5.12

2 years ago

0.5.13

2 years ago

0.5.10

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.9

2 years ago

0.5.4

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.3

2 years ago

0.5.0

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.4.40

2 years ago

0.4.41

2 years ago

0.4.39

2 years ago

0.4.37

2 years ago

0.4.38

2 years ago

0.4.35

2 years ago

0.4.36

2 years ago

0.4.34

2 years ago

0.4.33

2 years ago

0.4.32

2 years ago

0.4.31

2 years ago

0.4.30

2 years ago

0.4.28

2 years ago

0.4.29

2 years ago

0.4.26

2 years ago

0.4.27

2 years ago

0.4.24

2 years ago

0.4.25

2 years ago

0.4.23

2 years ago

0.4.22

2 years ago

0.4.21

2 years ago

0.4.20

2 years ago

0.4.19

2 years ago

0.4.18

2 years ago

0.4.17

2 years ago

0.4.16

2 years ago

0.4.15

2 years ago

0.4.10

2 years ago

0.4.13

2 years ago

0.4.11

2 years ago

0.4.12

2 years ago

0.4.9

2 years ago

0.4.8

2 years ago

0.4.7

2 years ago

0.4.6

2 years ago

0.4.5

2 years ago

0.4.4

2 years ago

0.4.1

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.3.75

2 years ago

0.3.74

2 years ago

0.3.72

2 years ago

0.3.71

2 years ago

0.3.70

2 years ago

0.3.69

2 years ago

0.3.68

2 years ago

0.3.67

2 years ago

0.3.66

2 years ago

0.3.65

2 years ago

0.3.64

2 years ago

0.3.63

2 years ago

0.3.62

2 years ago

0.3.61

2 years ago

0.3.60

2 years ago

0.3.59

2 years ago

0.3.58

2 years ago

0.3.57

2 years ago

0.3.56

2 years ago

0.3.55

2 years ago

0.3.54

2 years ago

0.3.53

2 years ago

0.3.52

2 years ago

0.3.51

2 years ago

0.3.50

2 years ago

0.3.49

2 years ago

0.3.48

2 years ago

0.3.47

2 years ago

0.3.46

2 years ago

0.3.45

2 years ago

0.3.44

2 years ago

0.3.42

2 years ago

0.3.43

2 years ago

0.3.41

2 years ago

0.3.40

2 years ago

0.3.39

2 years ago

0.3.38

2 years ago

0.3.37

2 years ago

0.3.36

2 years ago

0.3.35

2 years ago

0.3.34

2 years ago

0.3.32

2 years ago

0.3.31

2 years ago

0.3.30

2 years ago

0.3.29

2 years ago

0.3.28

2 years ago

0.3.26

2 years ago

0.3.25

2 years ago

0.3.24

2 years ago

0.3.23

2 years ago

0.3.22

2 years ago

0.3.21

2 years ago

0.3.20

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.9

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.3

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.2

2 years ago

0.2.0

2 years ago

0.1.22

2 years ago

0.1.21

2 years ago

0.1.20

2 years ago

0.1.19

2 years ago

0.1.18

2 years ago

0.1.17

2 years ago

0.1.16

2 years ago

0.1.15

2 years ago

0.1.14

2 years ago

0.1.13

2 years ago

0.1.12

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.0

2 years ago