redoc

package module
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2023 License: MIT Imports: 8 Imported by: 0

README

go-redoc

GoDoc Go Report Card

go-redoc is an embedded OpenAPI documentation ui for Go using ReDoc and Go's 1.16+'s embed package, with middleware implementations for: net/http, gin, fiber, and echo.

The template is based on the ReDoc's bundle template with the script already placed in the html instead of depending on a CDN.

Usage

import "github.com/mvrilo/go-redoc"

...

doc := redoc.Redoc{
    Title:       "Example API",
    Description: "Example API Description",
    SpecFile:    "./openapi.json", // "./openapi.yaml"
    SpecPath:    "/openapi.json",  // "/openapi.yaml"
    DocsPath:    "/docs",
}
  • net/http
import (
	"net/http"
	"github.com/mvrilo/go-redoc"
)

...

http.ListenAndServe(address, doc.Handler())
  • gin
import (
	"github.com/gin-gonic/gin"
	"github.com/mvrilo/go-redoc"
	ginredoc "github.com/mvrilo/go-redoc/gin"
)

...

r := gin.New()
r.Use(ginredoc.New(doc))
  • echo
import (
	"github.com/labstack/echo/v4"
	"github.com/mvrilo/go-redoc"
	echoredoc "github.com/mvrilo/go-redoc/echo"
)

...

r := echo.New()
r.Use(echoredoc.New(doc))
  • fiber
import (
	"github.com/gofiber/fiber/v2"
	"github.com/mvrilo/go-redoc"
	fiberredoc "github.com/mvrilo/go-redoc/fiber"
)

...

r := fiber.New()
r.Use(fiberredoc.New(doc))

See examples

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrSpecNotFound = errors.New("spec not found")

ErrSpecNotFound error for when spec file not found

View Source
var HTML string

HTML represents the redoc index.html page

View Source
var JavaScript string

JavaScript represents the redoc standalone javascript

Functions

This section is empty.

Types

type Level1Items added in v0.1.4

type Level1Items struct {
	TextTransform string `json:"textTransform"`
}

type Redoc

type Redoc struct {
	DocsPath    string
	SpecPath    string
	SpecFile    string
	Title       string
	Description string
	Option      *RedocOption
}

Redoc configuration

func (Redoc) Body

func (r Redoc) Body() ([]byte, error)

Body returns the final html with the js in the body

func (Redoc) Handler

func (r Redoc) Handler() http.HandlerFunc

Handler sets some defaults and returns a HandlerFunc

type RedocOption added in v0.1.4

type RedocOption struct {
	HideTryItPanel bool  `json:"hideTryItPanel"`
	Theme          Theme `json:"theme"`
}
type Sidebar struct {
	Level1Items Level1Items `json:"level1Items"`
}

type Theme added in v0.1.4

type Theme struct {
	Sidebar    Sidebar    `json:"sidebar"`
	Typography Typography `json:"typography"`
}

type Typography added in v0.1.5

type Typography struct {
	FontFamily string `json:"fontFamily"`
}

Directories

Path Synopsis
_examples
gin

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL