<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0"> <meta name="generator" content="Hugo 0.110.0"> <meta name="generator" content="Relearn 5.10.2+tip"> <meta name="description" content="UI for your Swagger / OpenAPI Specifications"> <meta name="author" content="Sören Weber"> <title>Swagger :: Hugo Relearn Theme</title> <link href="https://McShelby.github.io/hugo-theme-relearn/shortcodes/swagger/index.html" rel="alternate" hreflang="x-default"> <link href="https://McShelby.github.io/hugo-theme-relearn/shortcodes/swagger/index.html" rel="alternate" hreflang="en"> <link href="https://McShelby.github.io/hugo-theme-relearn/pir/shortcodes/swagger/index.html" rel="alternate" hreflang="pir"> <link href="https://McShelby.github.io/hugo-theme-relearn/shortcodes/swagger/index.html" rel="canonical" type="text/html" title="Swagger :: Hugo Relearn Theme"> <link href="../../shortcodes/swagger/index.xml" rel="alternate" type="application/rss+xml" title="Swagger :: Hugo Relearn Theme"> <link href="../../images/logo.svg?1675522946" rel="icon" type="image/svg+xml"> <!-- https://github.com/filamentgroup/loadCSS/blob/master/README.md#how-to-use --> <link href="../../css/fontawesome-all.min.css?1675522947" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fontawesome-all.min.css?1675522947" rel="stylesheet"></noscript> <link href="../../css/auto-complete.css?1675522947" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/auto-complete.css?1675522947" rel="stylesheet"></noscript> <link href="../../css/perfect-scrollbar.min.css?1675522947" rel="stylesheet"> <link href="../../css/nucleus.css?1675522947" rel="stylesheet"> <link href="../../css/fonts.css?1675522947" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fonts.css?1675522947" rel="stylesheet"></noscript> <link href="../../css/theme.css?1675522947" rel="stylesheet"> <link href="../../css/theme-relearn-light.css?1675522947" rel="stylesheet" id="variant-style"> <link href="../../css/ie.css?1675522947" rel="stylesheet"> <link href="../../css/variant.css?1675522947" rel="stylesheet"> <link href="../../css/print.css?1675522947" rel="stylesheet" media="print"> <link href="../../css/format-print.css?1675522947" rel="stylesheet"> <script src="../../js/url.js?1675522947"></script> <script src="../../js/variant.js?1675522947"></script> <script> // hack to let hugo tell us how to get to the root when using relativeURLs, it needs to be called *url= for it to do its magic: // https://github.com/gohugoio/hugo/blob/145b3fcce35fbac25c7033c91c1b7ae6d1179da8/transform/urlreplacers/absurlreplacer.go#L72 window.index_js_url="../../index.search.js"; var root_url="../../"; var baseUri=root_url.replace(/\/$/, ''); // translations window.T_Copy_to_clipboard = 'Copy to clipboard'; window.T_Copied_to_clipboard = 'Copied to clipboard!'; window.T_Copy_link_to_clipboard = 'Copy link to clipboard'; window.T_Link_copied_to_clipboard = 'Copied link to clipboard!'; window.T_No_results_found = 'No results found for \u0022{0}\u0022'; window.T_N_results_found = '{1} results found for \u0022{0}\u0022'; // some further base stuff var baseUriFull='https:\/\/McShelby.github.io\/hugo-theme-relearn/'; window.variants && variants.init( [ 'relearn-light', 'relearn-dark', 'learn', 'neon', 'blue', 'green', 'red' ] ); </script> <style> #body img.bg-white { background-color: white; } </style> </head> <body class="mobile-support print disableInlineCopyToClipboard" data-url="../../shortcodes/swagger/index.html"> <div id="body" class="default-animation"> <div id="sidebar-overlay"></div> <div id="toc-overlay"></div> <nav id="topbar" class="highlightable" dir="ltr"> <div> <div id="breadcrumbs"> <span id="sidebar-toggle-span"> <a href="#" id="sidebar-toggle" class="topbar-link" title='Menu (CTRL+ALT+n)'><i class="fas fa-bars fa-fw"></i></a> </span> <ol class="links" itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="../../index.html"><span itemprop="name">Hugo Relearn Theme</span></a><meta itemprop="position" content="1"> > </li> <li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="../../shortcodes/index.html"><span itemprop="name">Shortcodes</span></a><meta itemprop="position" content="2"> > </li> <li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Swagger</span><meta itemprop="position" content="3"></li> </ol> </div> </div> </nav> <main id="body-inner" class="highlightable default" tabindex="-1"> <div class="flex-block-wrapper"> <div id="head-tags"> </div> <article class="default"> <h1 id="swagger">Swagger</h1> <p>The <code>swagger</code> shortcode uses the <a href="https://mrin9.github.io/RapiDoc" target="_blank">RapiDoc</a> library to display your Swagger / OpenAPI Specifications.</p> <div class="box notices cstyle note"> <div class="box-label"><i class="fa-fw fas fa-exclamation-circle"></i> Note</div> <div class="box-content"> <p>This only works in modern browsers.</p> </div> </div> <h2 id="usage">Usage</h2> <p>While the examples are using shortcodes with named parameter you are free to also call this shortcode from your own partials.</p> <div class="tab-panel" data-tab-group="shortcode-parameter"> <div class="tab-nav"> <button data-tab-item="shortcode" class="tab-nav-button direction-ltr active" onclick="switchTab('shortcode-parameter','shortcode')" > <span>shortcode</span></button> <button data-tab-item="partial" class="tab-nav-button direction-ltr " onclick="switchTab('shortcode-parameter','partial')" > <span>partial</span></button> </div> <div class="tab-content"> <div data-tab-item="shortcode" class="tab-item active" > <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{<</span> <span class="nx">swagger</span> <span class="nx">src</span><span class="p">=</span><span class="s">"https://petstore3.swagger.io/api/v3/openapi.json"</span> <span class="p">>}}</span> </span></span></code></pre></div> </div> <div data-tab-item="partial" class="tab-item " > <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="nx">partial</span> <span class="s">"shortcodes/swagger.html"</span> <span class="p">(</span><span class="nx">dict</span> </span></span><span class="line"><span class="cl"> <span class="s">"context"</span> <span class="p">.</span> </span></span><span class="line"><span class="cl"> <span class="s">"src"</span> <span class="s">"https://petstore3.swagger.io/api/v3/openapi.json"</span> </span></span><span class="line"><span class="cl"><span class="p">)}}</span> </span></span></code></pre></div> </div> </div> </div> <h3 id="parameter">Parameter</h3> <table> <thead> <tr> <th style="text-align:left">Name</th> <th style="text-align:left">Default</th> <th style="text-align:left">Notes</th> </tr> </thead> <tbody> <tr> <td style="text-align:left"><strong>src</strong></td> <td style="text-align:left"><em><empty></em></td> <td style="text-align:left">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.</td> </tr> </tbody> </table> <div class="box notices cstyle note"> <div class="box-label"><i class="fa-fw fas fa-exclamation-circle"></i> Note</div> <div class="box-content"> <p>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.</p> <p>Instead, open the <a href="../../basics/configuration/#activate-print-support">print preview</a> in your browser and initiate printing from that page. This page is optimized for reading and expands most of the available sections.</p> </div> </div> <h2 id="configuration">Configuration</h2> <p>Swagger is configured with default settings. You can customize Swagger’s default settings for all of your files thru a JSON object in your <code>config.toml</code> or override these settings per page thru your pages frontmatter.</p> <p>The JSON object of your <code>config.toml</code> / frontmatter is forwarded into Swagger’s initialization. At the moment, only the <code>theme</code> setting is supported.</p> <p>The <code>theme</code> 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 <code>config.toml</code> or frontmatter.</p> <h3 id="global-configuration-file">Global Configuration File</h3> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">params</span><span class="p">]</span> </span></span><span class="line"><span class="cl"> <span class="nx">swaggerInitialize</span> <span class="p">=</span> <span class="s2">"{ \"theme\": \"dark\" }"</span> </span></span></code></pre></div><h2 id="example">Example</h2> <h3 id="using-local-file">Using Local File</h3> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{<</span> <span class="nx">swagger</span> <span class="nx">src</span><span class="p">=</span><span class="s">"petstore.json"</span> <span class="p">>}}</span> </span></span></code></pre></div> <rapi-doc allow-spec-file-download="false" allow-server-selection="false" allow-try="false" font-size="default" render-style="read" default-schema-tab="example" layout="column" load-fonts="false" schema-description-expanded="true" schema-style="table" show-header="false" spec-url="../../shortcodes/swagger/petstore.json" sort-tags="true" ></rapi-doc> <footer class="footline"> </footer> </article> </div> </main> </div> <script src="../../js/clipboard.min.js?1675522948" defer></script> <script src="../../js/perfect-scrollbar.min.js?1675522948" defer></script> <script src="../../js/rapidoc-min.js?1675522948" defer></script> <script> window.themeUseSwagger = JSON.parse("{}"); </script> <script src="../../js/theme.js?1675522948" defer></script> </body> </html>