<!DOCTYPE html>
<html>
  <head>
    <title>ReDoc Demo: Multiple apis</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
      body {
        margin: 0;
        padding-top: 40px;
      }

      nav {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100;
      }
      ul#links_container {
          margin: 0;
          padding: 0;
          background-color: #0033a0;
      }

      li {
          display: inline-block;
          padding: 10px;
          color: white;
          cursor: pointer;
      }
    </style>
  </head>
  <body>

    <!-- Top navigation placeholder -->
    <nav>
      <ul id="links_container">
      </ul>
    </nav>

    <redoc scroll-y-offset="body > nav"></redoc>

    <script src="https://rebilly.github.io/ReDoc/releases/v1.x.x/redoc.min.js"> </script>
    <script>
      // list of APIS
      var apis = [
        {
          name: 'PetStore',
          url: 'https://rebilly.github.io/ReDoc/swagger.yaml'
        },
        {
          name: 'Instagram',
          url: 'https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml'
        },
        {
          name: 'Google Calendar',
          url: 'https://api.apis.guru/v2/specs/googleapis.com/calendar/v3/swagger.yaml'
        }
      ];

      // initially render first API
      Redoc.init(apis[0].url);

      function onClick() {
        var url = this.getAttribute('data-link');
        Redoc.init(url);
      }

      // dynamically building navigation items
      var $list = document.getElementById('links_container');
      apis.forEach(function(api) {
        var $listitem = document.createElement('li');
        $listitem.setAttribute('data-link', api.url);
        $listitem.innerText = api.name;
        $listitem.addEventListener('click', onClick);
        $list.appendChild($listitem);
      });
    </script>
  </body>
</html>