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 * as path from 'node:path';
import type { Config, PluginConfig } from '@docusaurus/types';
import type * as OpenApiPlugin from 'docusaurus-plugin-openapi-docs';
import type * as Preset from "@docusaurus/preset-classic";
import * as path from "node:path";
import type { Config, PluginConfig } from "@docusaurus/types";
import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
const config: Config = {
title: 'Frigate',
tagline: 'NVR With Realtime Object Detection for IP Cameras',
url: 'https://docs.frigate.video',
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/favicon.ico',
organizationName: 'blakeblackshear',
projectName: 'frigate',
themes: ['@docusaurus/theme-mermaid', 'docusaurus-theme-openapi-docs'],
title: "Frigate",
tagline: "NVR With Realtime Object Detection for IP Cameras",
url: "https://docs.frigate.video",
baseUrl: "/",
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
favicon: "img/favicon.ico",
organizationName: "blakeblackshear",
projectName: "frigate",
themes: [
"@docusaurus/theme-mermaid",
"docusaurus-theme-openapi-docs",
"@inkeep/docusaurus/chatButton",
],
markdown: {
mermaid: true,
},
themeConfig: {
algolia: {
appId: 'WIURGBNBPY',
apiKey: 'd02cc0a6a61178b25da550212925226b',
indexName: 'frigate',
appId: "WIURGBNBPY",
apiKey: "d02cc0a6a61178b25da550212925226b",
indexName: "frigate",
},
docs: {
sidebar: {
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: {
additionalLanguages: ['bash', 'json'],
additionalLanguages: ["bash", "json"],
},
languageTabs: [
{
highlight: 'python',
language: 'python',
logoClass: 'python',
highlight: "python",
language: "python",
logoClass: "python",
},
{
highlight: 'javascript',
language: 'nodejs',
logoClass: 'nodejs',
highlight: "javascript",
language: "nodejs",
logoClass: "nodejs",
},
{
highlight: 'javascript',
language: 'javascript',
logoClass: 'javascript',
highlight: "javascript",
language: "javascript",
logoClass: "javascript",
},
{
highlight: 'bash',
language: 'curl',
logoClass: 'curl',
highlight: "bash",
language: "curl",
logoClass: "curl",
},
{
highlight: "rust",
@ -59,49 +91,49 @@ const config: Config = {
},
],
navbar: {
title: 'Frigate',
title: "Frigate",
logo: {
alt: 'Frigate',
src: 'img/logo.svg',
srcDark: 'img/logo-dark.svg',
alt: "Frigate",
src: "img/logo.svg",
srcDark: "img/logo-dark.svg",
},
items: [
{
to: '/',
activeBasePath: 'docs',
label: 'Docs',
position: 'left',
to: "/",
activeBasePath: "docs",
label: "Docs",
position: "left",
},
{
href: 'https://frigate.video',
label: 'Website',
position: 'right',
href: "https://frigate.video",
label: "Website",
position: "right",
},
{
href: 'http://demo.frigate.video',
label: 'Demo',
position: 'right',
href: "http://demo.frigate.video",
label: "Demo",
position: "right",
},
{
href: 'https://github.com/blakeblackshear/frigate',
label: 'GitHub',
position: 'right',
href: "https://github.com/blakeblackshear/frigate",
label: "GitHub",
position: "right",
},
],
},
footer: {
style: 'dark',
style: "dark",
links: [
{
title: 'Community',
title: "Community",
items: [
{
label: 'GitHub',
href: 'https://github.com/blakeblackshear/frigate',
label: "GitHub",
href: "https://github.com/blakeblackshear/frigate",
},
{
label: 'Discussions',
href: 'https://github.com/blakeblackshear/frigate/discussions',
label: "Discussions",
href: "https://github.com/blakeblackshear/frigate/discussions",
},
],
},
@ -110,19 +142,19 @@ const config: Config = {
},
},
plugins: [
path.resolve(__dirname, 'plugins', 'raw-loader'),
path.resolve(__dirname, "plugins", "raw-loader"),
[
'docusaurus-plugin-openapi-docs',
"docusaurus-plugin-openapi-docs",
{
id: 'openapi',
docsPluginId: 'classic', // configured for preset-classic
id: "openapi",
docsPluginId: "classic", // configured for preset-classic
config: {
frigateApi: {
specPath: 'static/frigate-api.yaml',
outputDir: 'docs/integrations/api',
specPath: "static/frigate-api.yaml",
outputDir: "docs/integrations/api",
sidebarOptions: {
groupPathsBy: 'tag',
categoryLinkSource: 'tag',
groupPathsBy: "tag",
categoryLinkSource: "tag",
sidebarCollapsible: true,
sidebarCollapsed: true,
},
@ -130,23 +162,24 @@ const config: Config = {
} satisfies OpenApiPlugin.Options,
},
},
]
],
] as PluginConfig[],
presets: [
[
'classic',
"classic",
{
docs: {
routeBasePath: '/',
sidebarPath: './sidebars.ts',
routeBasePath: "/",
sidebarPath: "./sidebars.ts",
// 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,
docItemComponent: '@theme/ApiItem', // Derived from docusaurus-theme-openapi
docItemComponent: "@theme/ApiItem", // Derived from docusaurus-theme-openapi
},
theme: {
customCss: './src/css/custom.css',
customCss: "./src/css/custom.css",
},
} satisfies Preset.Options,
],

View File

@ -12,6 +12,7 @@
"@docusaurus/plugin-content-docs": "^3.6.3",
"@docusaurus/preset-classic": "^3.6.3",
"@docusaurus/theme-mermaid": "^3.6.3",
"@inkeep/docusaurus": "^2.0.16",
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.3.1",
@ -4056,6 +4057,12 @@
"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": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",

View File

@ -18,9 +18,10 @@
},
"dependencies": {
"@docusaurus/core": "^3.6.3",
"@docusaurus/plugin-content-docs": "^3.6.3",
"@docusaurus/preset-classic": "^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",
"clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.3.1",