0.9.3 • Published 7 months ago

@scalar/hono-api-reference v0.9.3

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

7 months ago

0.8.8

8 months ago

0.8.5

8 months ago

0.8.4

8 months ago

0.8.7

8 months ago

0.8.6

8 months ago

0.7.2

9 months ago

0.7.1

9 months ago

0.7.4

9 months ago

0.7.3

9 months ago

0.7.0

9 months ago

0.9.3

7 months ago

0.8.1

8 months ago

0.8.0

9 months ago

0.8.3

8 months ago

0.8.2

8 months ago

0.7.5

9 months ago

0.6.0

9 months ago

0.5.172

11 months ago

0.5.171

11 months ago

0.5.174

10 months ago

0.5.173

10 months ago

0.5.170

11 months ago

0.5.179

10 months ago

0.5.176

10 months ago

0.5.175

10 months ago

0.5.178

10 months ago

0.5.177

10 months ago

0.5.183

10 months ago

0.5.184

9 months ago

0.5.181

10 months ago

0.5.180

10 months 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

11 months ago

0.5.168

11 months ago

0.5.165

1 year ago

0.5.164

1 year ago

0.5.167

11 months ago

0.5.166

11 months ago

0.9.2

7 months ago

0.9.1

7 months ago

0.8.10

7 months ago

0.5.158

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

2 years ago

0.5.55

2 years ago

0.5.130

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

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

2 years ago

0.5.131

1 year ago

0.5.59

2 years ago

0.5.134

1 year ago

0.5.56

2 years ago

0.5.133

1 year ago

0.5.57

2 years ago

0.5.129

1 year ago

0.5.128

1 year ago

0.5.44

2 years ago

0.5.141

1 year ago

0.5.140

1 year ago

0.5.49

2 years ago

0.5.143

1 year ago

0.5.47

2 years ago

0.5.142

1 year ago

0.5.48

2 years ago

0.5.45

2 years ago

0.5.46

2 years 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

2 years ago

0.5.77

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

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