Add Inkeep chatbot to docs (#16405)

* Add inkeep chatbot to docs

* install inkeep to docs dir
This commit is contained in:
Josh Hawkins 2025-02-09 07:06:44 -06:00 committed by GitHub
parent dc79af2d98
commit 6536368467
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 110 additions and 69 deletions

View File

@ -1,56 +1,88 @@
import type * as Preset from '@docusaurus/preset-classic'; import type * as Preset from "@docusaurus/preset-classic";
import * as path from 'node:path'; import * as path from "node:path";
import type { Config, PluginConfig } from '@docusaurus/types'; import type { Config, PluginConfig } from "@docusaurus/types";
import type * as OpenApiPlugin from 'docusaurus-plugin-openapi-docs'; import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
const config: Config = { const config: Config = {
title: 'Frigate', title: "Frigate",
tagline: 'NVR With Realtime Object Detection for IP Cameras', tagline: "NVR With Realtime Object Detection for IP Cameras",
url: 'https://docs.frigate.video', url: "https://docs.frigate.video",
baseUrl: '/', baseUrl: "/",
onBrokenLinks: 'throw', onBrokenLinks: "throw",
onBrokenMarkdownLinks: 'warn', onBrokenMarkdownLinks: "warn",
favicon: 'img/favicon.ico', favicon: "img/favicon.ico",
organizationName: 'blakeblackshear', organizationName: "blakeblackshear",
projectName: 'frigate', projectName: "frigate",
themes: ['@docusaurus/theme-mermaid', 'docusaurus-theme-openapi-docs'], themes: [
"@docusaurus/theme-mermaid",
"docusaurus-theme-openapi-docs",
"@inkeep/docusaurus/chatButton",
],
markdown: { markdown: {
mermaid: true, mermaid: true,
}, },
themeConfig: { themeConfig: {
algolia: { algolia: {
appId: 'WIURGBNBPY', appId: "WIURGBNBPY",
apiKey: 'd02cc0a6a61178b25da550212925226b', apiKey: "d02cc0a6a61178b25da550212925226b",
indexName: 'frigate', indexName: "frigate",
}, },
docs: { docs: {
sidebar: { sidebar: {
hideable: true, hideable: true,
}, },
}, },
inkeepConfig: {
baseSettings: {
apiKey: "b1a4c4d73c9b48aa5b3cdae6e4c81f0bb3d1134eeb5a7100",
integrationId: "cm6xmhn9h000gs601495fkkdx",
organizationId: "org_map2JQEOco8U1ZYY",
primaryBrandColor: "#010101",
},
aiChatSettings: {
chatSubjectName: "Frigate",
botAvatarSrcUrl: "https://frigate.video/images/favicon.png",
getHelpCallToActions: [
{
name: "GitHub",
url: "https://github.com/blakeblackshear/frigate",
icon: {
builtIn: "FaGithub",
},
},
],
quickQuestions: [
"How to configure and setup camera settings?",
"How to setup notifications?",
"Supported builtin detectors?",
"How to restream video feed?",
"How can I get sound or audio in my recordings?",
],
},
},
prism: { prism: {
additionalLanguages: ['bash', 'json'], additionalLanguages: ["bash", "json"],
}, },
languageTabs: [ languageTabs: [
{ {
highlight: 'python', highlight: "python",
language: 'python', language: "python",
logoClass: 'python', logoClass: "python",
}, },
{ {
highlight: 'javascript', highlight: "javascript",
language: 'nodejs', language: "nodejs",
logoClass: 'nodejs', logoClass: "nodejs",
}, },
{ {
highlight: 'javascript', highlight: "javascript",
language: 'javascript', language: "javascript",
logoClass: 'javascript', logoClass: "javascript",
}, },
{ {
highlight: 'bash', highlight: "bash",
language: 'curl', language: "curl",
logoClass: 'curl', logoClass: "curl",
}, },
{ {
highlight: "rust", highlight: "rust",
@ -59,49 +91,49 @@ const config: Config = {
}, },
], ],
navbar: { navbar: {
title: 'Frigate', title: "Frigate",
logo: { logo: {
alt: 'Frigate', alt: "Frigate",
src: 'img/logo.svg', src: "img/logo.svg",
srcDark: 'img/logo-dark.svg', srcDark: "img/logo-dark.svg",
}, },
items: [ items: [
{ {
to: '/', to: "/",
activeBasePath: 'docs', activeBasePath: "docs",
label: 'Docs', label: "Docs",
position: 'left', position: "left",
}, },
{ {
href: 'https://frigate.video', href: "https://frigate.video",
label: 'Website', label: "Website",
position: 'right', position: "right",
}, },
{ {
href: 'http://demo.frigate.video', href: "http://demo.frigate.video",
label: 'Demo', label: "Demo",
position: 'right', position: "right",
}, },
{ {
href: 'https://github.com/blakeblackshear/frigate', href: "https://github.com/blakeblackshear/frigate",
label: 'GitHub', label: "GitHub",
position: 'right', position: "right",
}, },
], ],
}, },
footer: { footer: {
style: 'dark', style: "dark",
links: [ links: [
{ {
title: 'Community', title: "Community",
items: [ items: [
{ {
label: 'GitHub', label: "GitHub",
href: 'https://github.com/blakeblackshear/frigate', href: "https://github.com/blakeblackshear/frigate",
}, },
{ {
label: 'Discussions', label: "Discussions",
href: 'https://github.com/blakeblackshear/frigate/discussions', href: "https://github.com/blakeblackshear/frigate/discussions",
}, },
], ],
}, },
@ -110,19 +142,19 @@ const config: Config = {
}, },
}, },
plugins: [ plugins: [
path.resolve(__dirname, 'plugins', 'raw-loader'), path.resolve(__dirname, "plugins", "raw-loader"),
[ [
'docusaurus-plugin-openapi-docs', "docusaurus-plugin-openapi-docs",
{ {
id: 'openapi', id: "openapi",
docsPluginId: 'classic', // configured for preset-classic docsPluginId: "classic", // configured for preset-classic
config: { config: {
frigateApi: { frigateApi: {
specPath: 'static/frigate-api.yaml', specPath: "static/frigate-api.yaml",
outputDir: 'docs/integrations/api', outputDir: "docs/integrations/api",
sidebarOptions: { sidebarOptions: {
groupPathsBy: 'tag', groupPathsBy: "tag",
categoryLinkSource: 'tag', categoryLinkSource: "tag",
sidebarCollapsible: true, sidebarCollapsible: true,
sidebarCollapsed: true, sidebarCollapsed: true,
}, },
@ -130,23 +162,24 @@ const config: Config = {
} satisfies OpenApiPlugin.Options, } satisfies OpenApiPlugin.Options,
}, },
}, },
] ],
] as PluginConfig[], ] as PluginConfig[],
presets: [ presets: [
[ [
'classic', "classic",
{ {
docs: { docs: {
routeBasePath: '/', routeBasePath: "/",
sidebarPath: './sidebars.ts', sidebarPath: "./sidebars.ts",
// Please change this to your repo. // Please change this to your repo.
editUrl: 'https://github.com/blakeblackshear/frigate/edit/master/docs/', editUrl:
"https://github.com/blakeblackshear/frigate/edit/master/docs/",
sidebarCollapsible: false, sidebarCollapsible: false,
docItemComponent: '@theme/ApiItem', // Derived from docusaurus-theme-openapi docItemComponent: "@theme/ApiItem", // Derived from docusaurus-theme-openapi
}, },
theme: { theme: {
customCss: './src/css/custom.css', customCss: "./src/css/custom.css",
}, },
} satisfies Preset.Options, } satisfies Preset.Options,
], ],

View File

@ -12,6 +12,7 @@
"@docusaurus/plugin-content-docs": "^3.6.3", "@docusaurus/plugin-content-docs": "^3.6.3",
"@docusaurus/preset-classic": "^3.6.3", "@docusaurus/preset-classic": "^3.6.3",
"@docusaurus/theme-mermaid": "^3.6.3", "@docusaurus/theme-mermaid": "^3.6.3",
"@inkeep/docusaurus": "^2.0.16",
"@mdx-js/react": "^3.1.0", "@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.3.1", "docusaurus-plugin-openapi-docs": "^4.3.1",
@ -4056,6 +4057,12 @@
"react-hook-form": "^7.0.0" "react-hook-form": "^7.0.0"
} }
}, },
"node_modules/@inkeep/docusaurus": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@inkeep/docusaurus/-/docusaurus-2.0.16.tgz",
"integrity": "sha512-dQhjlvFnl3CVr0gWeJ/V/qLnDy1XYrCfkdVSa2D3gJTxI9/vOf9639Y1aPxTxO88DiXuW9CertLrZLB6SoJ2yg==",
"license": "MIT"
},
"node_modules/@isaacs/cliui": { "node_modules/@isaacs/cliui": {
"version": "8.0.2", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",

View File

@ -18,9 +18,10 @@
}, },
"dependencies": { "dependencies": {
"@docusaurus/core": "^3.6.3", "@docusaurus/core": "^3.6.3",
"@docusaurus/plugin-content-docs": "^3.6.3",
"@docusaurus/preset-classic": "^3.6.3", "@docusaurus/preset-classic": "^3.6.3",
"@docusaurus/theme-mermaid": "^3.6.3", "@docusaurus/theme-mermaid": "^3.6.3",
"@docusaurus/plugin-content-docs": "^3.6.3", "@inkeep/docusaurus": "^2.0.16",
"@mdx-js/react": "^3.1.0", "@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.3.1", "docusaurus-plugin-openapi-docs": "^4.3.1",