0.9.3 • Published 5 months ago

@scalar/hono-api-reference v0.9.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 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

6 months ago

0.8.8

6 months ago

0.8.5

6 months ago

0.8.4

6 months ago

0.8.7

6 months ago

0.8.6

6 months ago

0.7.2

7 months ago

0.7.1

8 months ago

0.7.4

7 months ago

0.7.3

7 months ago

0.7.0

8 months ago

0.9.3

5 months ago

0.8.1

7 months ago

0.8.0

7 months ago

0.8.3

6 months ago

0.8.2

7 months ago

0.7.5

7 months ago

0.6.0

8 months ago

0.5.172

9 months ago

0.5.171

9 months ago

0.5.174

8 months ago

0.5.173

9 months ago

0.5.170

9 months ago

0.5.179

8 months ago

0.5.176

8 months ago

0.5.175

8 months ago

0.5.178

8 months ago

0.5.177

8 months ago

0.5.183

8 months ago

0.5.184

8 months ago

0.5.181

8 months ago

0.5.180

8 months ago

0.5.159

12 months ago

0.5.161

11 months ago

0.5.160

11 months ago

0.5.163

11 months ago

0.5.162

11 months ago

0.5.169

9 months ago

0.5.168

9 months ago

0.5.165

11 months ago

0.5.164

11 months ago

0.5.167

9 months ago

0.5.166

10 months ago

0.9.2

5 months ago

0.9.1

5 months ago

0.8.10

6 months ago

0.5.158

12 months ago

0.5.157

1 year ago

0.5.156

1 year ago

0.5.155

1 year ago

0.5.154

1 year ago

0.5.149

1 year ago

0.5.150

1 year ago

0.5.152

1 year ago

0.5.151

1 year ago

0.5.153

1 year ago

0.5.147

1 year ago

0.5.148

1 year ago

0.5.146

1 year ago

0.5.145

1 year ago

0.5.144

1 year ago

0.5.103

1 year ago

0.5.102

1 year ago

0.5.105

1 year ago

0.5.104

1 year ago

0.5.101

1 year ago

0.5.100

1 year ago

0.5.54

1 year ago

0.5.55

1 year ago

0.5.130

1 year ago

0.5.52

1 year ago

0.5.53

1 year ago

0.5.50

1 year ago

0.5.51

1 year ago

0.5.136

1 year ago

0.5.135

1 year ago

0.5.138

1 year ago

0.5.137

1 year ago

0.5.132

1 year ago

0.5.58

1 year ago

0.5.131

1 year ago

0.5.59

1 year ago

0.5.134

1 year ago

0.5.56

1 year ago

0.5.133

1 year ago

0.5.57

1 year ago

0.5.129

1 year ago

0.5.128

1 year ago

0.5.44

1 year ago

0.5.141

1 year ago

0.5.140

1 year ago

0.5.49

1 year ago

0.5.143

1 year ago

0.5.47

1 year ago

0.5.142

1 year ago

0.5.48

1 year ago

0.5.45

1 year ago

0.5.46

1 year ago

0.5.139

1 year ago

0.5.114

1 year ago

0.5.113

1 year ago

0.5.116

1 year ago

0.5.115

1 year ago

0.5.110

1 year ago

0.5.112

1 year ago

0.5.111

1 year ago

0.5.107

1 year ago

0.5.106

1 year ago

0.5.109

1 year ago

0.5.125

1 year ago

0.5.124

1 year ago

0.5.127

1 year ago

0.5.126

1 year ago

0.5.121

1 year ago

0.5.120

1 year ago

0.5.123

1 year ago

0.5.122

1 year ago

0.5.118

1 year ago

0.5.117

1 year ago

0.5.119

1 year ago

0.5.98

1 year ago

0.5.99

1 year ago

0.5.96

1 year ago

0.5.97

1 year ago

0.5.94

1 year ago

0.5.95

1 year ago

0.5.92

1 year ago

0.5.90

1 year ago

0.5.91

1 year ago

0.5.87

1 year ago

0.5.88

1 year ago

0.5.85

1 year ago

0.5.86

1 year ago

0.5.84

1 year ago

0.5.81

1 year ago

0.5.82

1 year ago

0.5.89

1 year ago

0.5.80

1 year ago

0.5.76

1 year ago

0.5.77

1 year ago

0.5.74

1 year ago

0.5.72

1 year ago

0.5.73

1 year ago

0.5.71

1 year ago

0.5.78

1 year ago

0.5.65

1 year ago

0.5.66

1 year ago

0.5.63

1 year ago

0.5.64

1 year ago

0.5.61

1 year ago

0.5.62

1 year ago

0.5.60

1 year ago

0.5.69

1 year ago

0.5.67

1 year ago

0.5.68

1 year ago

0.5.43

1 year ago

0.5.42

1 year ago

0.5.41

1 year ago

0.5.40

1 year ago

0.5.39

1 year ago

0.5.38

1 year ago

0.5.36

1 year ago

0.5.37

1 year ago

0.5.34

1 year ago

0.5.35

1 year ago

0.5.33

1 year ago

0.5.32

1 year ago

0.5.31

1 year ago

0.5.30

1 year ago

0.5.29

1 year ago

0.5.27

1 year ago

0.5.28

1 year ago

0.5.25

1 year ago

0.5.26

1 year ago

0.5.24

1 year ago

0.5.20

1 year ago

0.5.19

1 year ago

0.5.18

1 year ago

0.5.17

1 year 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