IntegrationsSphinx

Add Chat Button to Sphinx

Copy page

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

What is Sphinx

Sphinx is a documentation platform often used for Python projects.

Get an API key

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

Load the script files

Add the below scripts to the conf.py file:

# ...
html_js_files = [
    ('https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5/dist/embed.js', {'defer': 'defer', 'type': 'module'}),
    ('js/addInkeep.js', {'defer': 'defer', 'type': 'module'}),
]

Create the addInkeep.js script

Create an addInkeep.js file in your _static folder.

touch _static/js/addInkeep.js

Now, configure the chat button component.

addInkeep.js
// Initialize the widget using the Inkeep.ChatButton() function.
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
  },
  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 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.