IntegrationsVitepress

Add Search Bar to VitePress

Integrate Inkeep's search bar into your VitePress documentation for powerful content discovery.

What is VitePress

VitePress is a lightweight static site generator based on Vue.

Get an API key

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

Copy and add the apiKey to your environment variables:

.env
VITE_INKEEP_API_KEY="INKEEP_API_KEY"

Load the script files

Add the below scripts to the config.ts file:

config.ts
export default {
  head: [
    [
      "script",
      {
        src: "https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5/dist/embed.js",
        type: "module",
        defer: true,
      },
    ],
    ["script", { src: "static/addInkeep.js", type: "module", defer: true }],
  ],
};

Create the addInkeep.js script

Create an addInkeep.js file in your static folder.

touch static/addInkeep.js

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

Configure the component

Next, initialize the widget using the Inkeep.SearchBar() function.

Note
Note
This will replace the default search bar used on the website.
addInkeep.js
// Initialize the widget using the Inkeep.SearchBar() function.
const inkeepWidget = Inkeep.SearchBar(".search", {
  baseSettings: {
    apiKey: import.meta.env.VITE_INKEEP_API_KEY, // required
    primaryBrandColor: "#26D6FF", // your brand color, the widget color scheme is derived from this
    organizationDisplayName: "Inkeep",
    // ...optional settings
    colorMode: {
      sync: {
        target: document.documentElement,
        attributes: ["class"],
        isDarkMode: (attributes) => !!attributes.class?.includes("dark"),
      },
    },
    theme: {
      // optional path to a custom stylesheet
      styles: [
        {
          key: "main",
          type: "link",
          value: "/path/to/stylesheets",
        },
      ],
      // ...optional settings
    },
  },
  modalSettings: {
    // optional settings
  },
  searchSettings: {
    // optional settings
  },
  aiChatSettings: {
    // optional settings
    aiAssistantAvatar: "/img/logo.svg", // use your own AI assistant avatar
    exampleQuestions: [
      "Example question 1?",
      "Example question 2?",
      "Example question 3?",
    ],
  },
});

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

On this page