Overview

The Redocly API registry offers API reference docs generated from OpenAPI definitions.

Get an API key

  1. Go to the Inkeep Dashboard
  2. Select your project under Projects
  3. Go to the Integrations tab
  4. Click on Create integration
  5. Select Web
  6. Provide a Name and URL (optional) for the integration
  7. Click on Create
  8. Click the Example < /> button to get your API key and view suggested settings

Load the script files

Add the below scripts to the index.html file:

<script src="https://unpkg.com/@inkeep/uikit-js@0.3.18/dist/embed.js" type="module" defer></script>
<script src="addInkeep.js" type="module" defer></script>

Create the addInkeep.js script

Create an addInkeep.js file in your docs folder.

touch docs/addInkeep.js

Now, create a container and configure the search bar component.

addInkeep.js
// Create an HTML element that the Inkeep widget will be inserted into.
const searchBarParentNode = document.querySelector(".scrollbar-container");
const inkeepDiv = document.createElement("div");
inkeepDiv.id = "inkeep";
searchBarParentNode.prepend(inkeepDiv);

let inkeepWidget = null;
const targetElement = document.getElementById("inkeep");
const config = {
  componentType: "SearchBar",
  targetElement,
  properties: {
    baseSettings: {
      apiKey: "INKEEP_API_KEY", // required
      integrationId: "INKEEP_INTEGRATION_ID", // required
      organizationId: "INKEEP_ORGANIZATION_ID", // required
      primaryBrandColor: "#26D6FF", // your brand color, widget color scheme is derived from this
      organizationDisplayName: "Inkeep",
      // ...optional settings
      theme: {
        // stylesheetUrls: ['/path/to/stylesheets'], // optional
        // ...optional settings
      },
    },
    modalSettings: {
      // optional settings
    },
    searchSettings: {
      // optional settings
    },
    aiChatSettings: {
      // optional settings
      botAvatarSrcUrl: "/img/logo.svg", // use your own bot avatar
      quickQuestions: [
        "Example question 1?",
        "Example question 2?",
        "Example question 3?",
      ],
    },
  },
};

// Wait for container to render
if (!inkeepWidget && targetElement) {
  // Embed the widget using the `Inkeep.embed()` function.
  inkeepWidget = Inkeep().embed(config);
}

For a full list of customizations, check out the Search Bar documentation.