IntegrationsReadme

Add Chat and Search to ReadMe

Add Inkeep's chat button and search bar to your ReadMe documentation.

What is ReadMe

ReadMe is a platform for creating documentation.

Note
Note

This integration requires a ReadMe Business plan or higher, as it relies on custom HTML.

Get an API key

Follow these steps to create an API key for your web integration.

Connect the script

  1. Navigate to Appearance of the project settings
  2. Open the Custom Include Tags tab
  3. Add the below code to the HEAD HTML section
<script
  id="inkeep-script"
  type="module"
  src="https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5/dist/embed.js"
  defer
></script>

Initialize the widgets

Next, in the FOOTER HTML section add the below code to hide the default search bar:

<style>
  .rm-SearchToggle {
    display: none;
  }
</style>

Then add the chat button and search bar:

<script type="text/javascript" defer>
  const inkeepScript = document.getElementById("inkeep-script");
  const readmeHeaderSearch = document.querySelector(".rm-Header-search");
  const inkeepDiv = document.createElement("div");
  inkeepDiv.id = "inkeepSearchBar";
 
  // configure and initialize the widget
  const config = {
    baseSettings: {
      apiKey: "INKEEP_API_KEY", // required
      primaryBrandColor: "#26D6FF", // your brand color, widget color scheme is derived from this
      organizationDisplayName: "Inkeep",
      // ...optional settings,
      colorMode: {
        sync: {
          target: document.documentElement,
          attributes: ["data-color-mode"],
          isDarkMode: (attributes) => attributes["data-color-mode"] === "dark",
        },
      },
      theme: {
        // optional path to a custom stylesheet
        styles: [
          {
            key: "main",
            type: "link",
            value: "/path/to/stylesheets",
          },
        ],
        // ...optionalSettings,
      },
    },
    modalSettings: {
      // optional settings
      shortcutKey: "L",
    },
    searchSettings: {
      // optional settings
    },
    aiChatSettings: {
      // optional settings
      aiAssistantAvatar: "https://mydomain.com/mylogo", // use your own AI assistant avatar
      exampleQuestions: [
        "Example question 1?",
        "Example question 2?",
        "Example question 3?",
      ],
    },
  };
 
  const observer = new MutationObserver(() => {
    readmeHeaderSearch.appendChild(inkeepDiv);
  });
  observer.observe(document.head, { childList: true });
 
  inkeepScript.addEventListener("load", () => {
    const widgetContainer = document.getElementById("inkeepSearchBar");
 
    Inkeep.ChatButton(config);
    widgetContainer && Inkeep.SearchBar("#inkeepSearchBar", config);
  });
</script>

Press Save to apply your changes.

For a full list of customizations, check out the Common Settings.

On this page