IntegrationsHugoDocsy

Add Chat Button to Hugo Docsy

Copy page

Integrate Inkeep's chat button into your Hugo Docsy theme for real-time user assistance.

What is Docsy

Docsy is a theme for the Hugo static site generator that’s specifically designed for technical documentation sets and has a lot of best practices built in.

Get an API key

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

Create the head-end.html file

Create an head-end.html file at the path layouts/partials/hooks

touch layouts/partials/hooks/head-end.html

Load the script files

Add the below scripts to the head-end.html file:

head-end.html
<script
  src="https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5/dist/embed.js"
  type="module"
  defer
></script>

<script src="/js/addInkeep.js" defer></script>

Create the addInkeep.js script

Create an addInkeep.js file in your static/js 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.