IntegrationsReadme

Add Search Bar to ReadMe

Add Inkeep's 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 widget

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 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 addInkeepWidget = () => {
    const inkeepWidget = Inkeep.SearchBar("#inkeepSearchBar", {
      baseSettings: {
        apiKey: "INKEEP_API_KEY", // required
        primaryBrandColor: "#26D6FF", // your brand color, widget color scheme is derived from this
        organizationDisplayName: "Inkeep",
        // ...optional settings
        theme: {
          // optional path to a custom stylesheet
          styles: [
            {
              key: "main",
              type: "link",
              value: "/path/to/stylesheets",
            },
          ],
          // ...optional settings
        },
        colorMode: {
          sync: {
            target: document.documentElement,
            attributes: ["data-color-mode"],
            isDarkMode: (attributes) =>
              attributes["data-color-mode"] === "dark",
          },
        },
      },
      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", () => {
    addInkeepWidget(); // initialize the widget
  });
</script>

Press Save to apply your changes.

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

On this page