What is Sphinx

Sphinx is a documentation platform often used for Python projects.

Get an API key

  1. Go to the Inkeep Dashboard
  2. Select your project under Projects
  3. Go to the Integrations tab
  4. Click on Create integration
  5. Select Web
  6. Provide a Name and URL (optional) for the integration
  7. Click on Create
  8. Click the Example < /> button to get your API key and view suggested settings

Load the script files

Add the below scripts to the conf.py file:

# ...
html_js_files = [
    ('https://unpkg.com/@inkeep/uikit-js@0.3.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, create a container and configure the search bar component.

Configure the component

addInkeep.js
// Embed the widget using the `Inkeep.embed()` function.
const inkeepWidget = Inkeep().embed({
  componentType: "SearchBar",
  targetElement: document.getElementById("inkeepSearchBar"),
  properties: {
    baseSettings: {
      apiKey: "INKEEP_API_KEY", // required
      integrationId: "INKEEP_INTEGRATION_ID", // required
      organizationId: "INKEEP_ORGANIZATION_ID", // required
      primaryBrandColor: "#26D6FF", // your brand color, widget color scheme is derived from this
      organizationDisplayName: "Inkeep",
      // ...optional settings
      theme: {
        stylesheetUrls: ['/path/to/stylesheets'], // optional
        // ...optional settings
      },
    },
    modalSettings: {
      // optional settings
    },
    searchSettings: {
      // optional settings
    },
    aiChatSettings: {
      // optional settings
      botAvatarSrcUrl: "/img/logo.svg", // use your own bot avatar
      quickQuestions: [
        "Example question 1?",
        "Example question 2?",
        "Example question 3?",
      ],
    },
  },
});

Container element

Create a searchbox.html file in source/_templates and paste in the below::

This Inkeep SearchBar widget will replace the default search bar used on the website.

searchbox.html
<div id="inkeepSearchBar"></div>

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