IntegrationsVuepress

Add Chat Button to VuePress

Copy page

Integrate Inkeep's chat button into your VuePress documentation for real-time user assistance.

What is VuePress

VuePress a markdown-centered static site generator.

Get an API key

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

Load the script files

  1. Navigate to the .vuepress directory
  2. Add the below scripts to the config.js file:
config.js
export default {
  head: [
    [
      "script",
      {
        src: "https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5/dist/embed.js",
        type: "module",
        defer: true,
        onLoad: "initializeInkeep()",
      },
    ],
    ["script", { src: "js/addInkeep.js", type: "module", defer: true }],
  ],
};

Create the addInkeep.js script

Create an addInkeep.js file in your public/js folder.

touch public/js/addInkeep.js

Now, configure the chat button component.

addInkeep.js
const initializeInkeep = () => {
  const addInkeepWidget = () => {
    const inkeepWidget = Inkeep.ChatButton({
      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",
          },
        },
      },
      modalSettings: {
        // optional settings
      },
      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?",
        ],
      },
    });
  };

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", addInkeepWidget);

    return;
  }

  addInkeepWidget();
};

For a full list of customizations, check out the Chat Button documentation.

Positioning

We support customization of styles via custom css in baseSettings, you can style "Ask AI" button by targetting it's class as so:

const baseSettings = {
  theme: {
    //...Other base Settings

    // Custom styles injection
    styles: [
      {
        key: "custom-theme",
        type: "style",
        value: `
         .ikp-chat-button__container {
           // Position the Ask-AI button on the left
           left: 1.5rem;
         }
       `,
      },
    ],
  },
};

You can find more information in the Custom Styles documentation.