# Swagger :: Hugo Relearn Theme
UI for your Swagger / OpenAPI Specifications
Author: Sören Weber

# Swagger

The `swagger` shortcode uses the RapiDoc library to display your Swagger / OpenAPI Specifications.

Note

This only works in modern browsers.

## Usage

While the examples are using shortcodes with named parameter you are free to also call this shortcode from your own partials.

    {{< swagger src="https://petstore3.swagger.io/api/v3/openapi.json" >}}

    {{ partial "shortcodes/swagger.html" (dict
      "context" .
      "src" "https://petstore3.swagger.io/api/v3/openapi.json"
    )}}

### Parameter

Name | Default | Notes
--- | --- | ---
src | <empty> | The URL to the OpenAPI Specification file. This can be relative to the URL of your page if it is a leaf or branch bundle.

Note

If you want to print out (or generate a PDF) from your Swagger documentation, don’t initiate printing directly from the page because the elements are optimized for interactive usage in a browser.

Instead, open the print preview in your browser and initiate printing from that page. This page is optimized for reading and expands most of the available sections.

## Configuration

Swagger is configured with default settings. You can customize Swagger’s default settings for all of your files thru a JSON object in your `config.toml` or override these settings per page thru your pages frontmatter.

The JSON object of your `config.toml` / frontmatter is forwarded into Swagger’s initialization. At the moment, only the `theme` setting is supported.

The `theme` setting can also be set by your used color variant. This will be the sitewide default and can - again - be overridden by your settings in `config.toml` or frontmatter.

### Global Configuration File

    [params]
      swaggerInitialize = "{ \"theme\": \"dark\" }"

## Example

### Using Local File

    {{< swagger src="petstore.json" >}}