Skip to content

MkDocs Swagger UI Tag

A MkDocs plugin supports for add Swagger UI in page.

Features

  1. OpenAPI Specification file from online over URL or static file in docs
  2. Multiple Swagger UI in same page
  3. Synchronized dark mode with mkdocs-material
  4. Configure Swagger UI configuration through plugin options and tag attributes
  5. Support multiple OAS in single Swagger UI with top bar selector
  6. Support Swagger UI initOAuth method

Dependency

  1. Python Package
    1. beautifulsoup4>=4.11.1
  2. Swagger UI dist javascript file and css file
    1. swagger-ui-dist>=4.13.0

Usage

  1. Install plugin from pypi

    pip install mkdocs-swagger-ui-tag
    
  2. Add swagger-ui-tag plugin in to your mkdocs.yml plugins sections:

    plugins:
       - swagger-ui-tag
    
    3. Add swagger-ui tag in markdown to include Swagger UI

    <swagger-ui src="https://petstore.swagger.io/v2/swagger.json"/>
    

    Swagger UI Sample Image

  3. You may customize the plugin by passing options in mkdocs.yml, check more details on options:

    plugins:
       - swagger-ui-tag:
            background: White
    
    Options Type Description
    background String Default: "". Swagger UI iframe body background attribute value. You can use any css value for background for example "#74b9ff" or "Gainsboro" or "" for nothing.
    docExpansion String Default: "list". Controls the default expansion setting for the operations and tags. It can be "list" (expands only the tags), "full" (expands the tags and operations) or "none" (expands nothing).
    filter String or Boolean Default: False. If set, enables filtering. The top bar will show an edit box that you can use to filter the tagged operations that are shown. Can be Boolean to enable or disable, or a string, in which case filtering will be enabled using that string as the filter expression. Filtering is case sensitive matching the filter expression anywhere inside the tag.
    syntaxHighlightTheme String Default: "agate". Highlight.js syntax coloring theme to use. It can be "agate", "arta", "monokai", "nord", "obsidian" or "tomorrow-night"
    tryItOutEnabled Boolean Default: False. Controls whether the "Try it out" section should be enabled by default.
    oauth2RedirectUrl String Default: None. OAuth redirect URL.
    supportedSubmitMethods Array Default: All Http Methods. Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.
    validatorUrl String Default: "https://validator.swagger.io/validator". By default, Swagger UI attempts to validate specs against swagger.io's online validator in multiple OAS Swagger UI. You can use this parameter to set a different validator URL, for example for locally deployed validators (Validator Badge). Setting it "none" to disable validation.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Reference

  1. Amoenus Swagger Dark Theme: source of dark mode css