1import { themes as prismThemes } from 'prism-react-renderer';
2import type { Config } from '@docusaurus/types';
3import type * as Preset from '@docusaurus/preset-classic';
4import type * as OpenApiPlugin from 'docusaurus-plugin-openapi-docs';
5
6const config: Config = {
7 title: 'Spice.ai OSS Docs',
8 tagline:
9 'A unified SQL query interface and portable runtime to locally materialize, accelerate, and query data tables sourced from any database, data warehouse, or data lake.',
10 favicon: 'img/favicon.ico',
11
12 // Set the production url of your site here
13 url: 'https://docs.spiceai.org',
14 // Set the /<baseUrl>/ pathname under which your site is served
15 // For GitHub pages deployment, it is often '/<projectName>/'
16 baseUrl: '/',
17
18 trailingSlash: false,
19
20 // GitHub pages deployment config.
21 // If you aren't using GitHub pages, you don't need these.
22 organizationName: 'spiceai', // Usually your GitHub org/user name.
23 projectName: 'docs', // Usually your repo name.
24
25 onBrokenLinks: 'throw',
26 onBrokenMarkdownLinks: 'throw',
27
28 // Even if you don't use internationalization, you can use this field to set
29 // useful metadata like html lang. For example, if your site is Chinese, you
30 // may want to replace "en" with "zh-Hans".
31 i18n: {
32 defaultLocale: 'en',
33 locales: ['en'],
34 },
35
36 presets: [
37 [
38 'classic',
39 {
40 docs: {
41 routeBasePath: '/',
42 docItemComponent: '@theme/ApiItem',
43 editUrl: 'https://github.com/spiceai/docs/tree/trunk/spiceaidocs/',
44 },
45 theme: {
46 customCss: ['./src/css/custom.css', './src/css/openapi.css'],
47 },
48 gtag: {
49 trackingID: 'G-SST0X6NS37',
50 anonymizeIP: true,
51 },
52 } satisfies Preset.Options,
53 ],
54 ],
55 themes: ['docusaurus-theme-openapi-docs'],
56 themeConfig: {
57 // Replace with your project's social card
58 // image: 'img/docusaurus-social-card.jpg',
59 announcementBar: {
60 content:
61 '<a href="https://github.com/spiceai/spiceai/releases/tag/v1.0.0-rc.4">Spice.ai OSS v1.0.0-rc.4</a> is now available! 🚀',
62 backgroundColor: 'var(--announcement-bar-bg)',
63 textColor: 'var(--announcement-bar-text)',
64 isCloseable: true,
65 },
66 navbar: {
67 title: 'Spice.ai OSS Docs',
68 logo: {
69 alt: 'Spice.ai OSS logo',
70 src: 'img/logo.svg',
71 },
72 hideOnScroll: true,
73 items: [
74 {
75 type: 'doc',
76 docId: 'getting-started/index',
77 position: 'left',
78 label: 'Getting Started',
79 },
80 {
81 label: 'Blog',
82 href: 'https://blog.spiceai.org',
83 position: 'right',
84 },
85 {
86 href: 'https://github.com/spiceai/spiceai',
87 label: 'GitHub',
88 position: 'right',
89 },
90 {
91 label: 'Discord',
92 href: 'https://discord.gg/kZnTfneP5u',
93 position: 'right',
94 },
95 ],
96 },
97 footer: {
98 style: 'dark',
99 links: [
100 {
101 title: 'Docs',
102 items: [
103 {
104 label: 'Getting Started',
105 to: '/getting-started',
106 },
107 ],
108 },
109 {
110 title: 'Community',
111 items: [
112 {
113 label: 'Reddit',
114 href: 'https://reddit.com/r/spiceai',
115 },
116 {
117 label: 'Discord',
118 href: 'https://discord.gg/kZnTfneP5u',
119 },
120 {
121 label: 'Twitter',
122 href: 'https://twitter.com/spice_ai',
123 },
124 ],
125 },
126 {
127 title: 'More',
128 items: [
129 {
130 label: 'Blog',
131 href: 'https://blog.spiceai.org',
132 },
133 {
134 label: 'GitHub',
135 href: 'https://github.com/spiceai/spiceai',
136 },
137 ],
138 },
139 ],
140 copyright: `Copyright © ${new Date().getFullYear()} Spice AI, Inc.`,
141 },
142 languageTabs: [
143 {
144 highlight: 'bash',
145 language: 'curl',
146 logoClass: 'curl',
147 },
148 ],
149 prism: {
150 theme: prismThemes.github,
151 darkTheme: prismThemes.dracula,
152 additionalLanguages: ['bash', 'json', 'csharp'],
153 },
154 algolia: {
155 appId: '0SP8I8JTL8',
156 apiKey: '72f66fe334ccd3c7db696a123d68735c',
157 indexName: 'spiceai',
158 contextualSearch: false,
159 },
160 } satisfies Preset.ThemeConfig,
161
162 plugins: [
163 [
164 'docusaurus-plugin-openapi-docs',
165 {
166 id: 'api',
167 docsPluginId: 'classic',
168 config: {
169 spice: {
170 proxy: 'http://localhost:8090',
171
172 specPath: 'public/openapi.json',
173 outputDir: 'docs/api/HTTP',
174 sidebarOptions: {
175 groupPathsBy: 'tag',
176 },
177 } satisfies OpenApiPlugin.Options,
178 },
179 },
180 ],
181 [
182 '@docusaurus/plugin-client-redirects',
183 {
184 redirects: [
185 {
186 from: '/federated-queries',
187 to: '/features/federated-queries',
188 },
189 {
190 from: '/data-ingestion',
191 to: '/features/data-ingestion',
192 },
193 {
194 from: '/data-acceleration',
195 to: '/features/data-acceleration',
196 },
197 ],
198 },
199 ],
200 ],
201};
202
203export default config;
204
1import { themes as prismThemes } from 'prism-react-renderer';
2import type { Config } from '@docusaurus/types';
3import type * as Preset from '@docusaurus/preset-classic';
4import type * as OpenApiPlugin from 'docusaurus-plugin-openapi-docs';
5
6const config: Config = {
7 title: 'Spice.ai OSS Docs',
8 tagline:
9 'A unified SQL query interface and portable runtime to locally materialize, accelerate, and query data tables sourced from any database, data warehouse, or data lake.',
10 favicon: 'img/favicon.ico',
11
12 // Set the production url of your site here
13 url: 'https://docs.spiceai.org',
14 // Set the /<baseUrl>/ pathname under which your site is served
15 // For GitHub pages deployment, it is often '/<projectName>/'
16 baseUrl: '/',
17
18 trailingSlash: false,
19
20 // GitHub pages deployment config.
21 // If you aren't using GitHub pages, you don't need these.
22 organizationName: 'spiceai', // Usually your GitHub org/user name.
23 projectName: 'docs', // Usually your repo name.
24
25 onBrokenLinks: 'throw',
26 onBrokenMarkdownLinks: 'throw',
27
28 // Even if you don't use internationalization, you can use this field to set
29 // useful metadata like html lang. For example, if your site is Chinese, you
30 // may want to replace "en" with "zh-Hans".
31 i18n: {
32 defaultLocale: 'en',
33 locales: ['en'],
34 },
35
36 presets: [
37 [
38 'classic',
39 {
40 docs: {
41 routeBasePath: '/',
42 docItemComponent: '@theme/ApiItem',
43 editUrl: 'https://github.com/spiceai/docs/tree/trunk/spiceaidocs/',
44 },
45 theme: {
46 customCss: ['./src/css/custom.css', './src/css/openapi.css'],
47 },
48 gtag: {
49 trackingID: 'G-SST0X6NS37',
50 anonymizeIP: true,
51 },
52 } satisfies Preset.Options,
53 ],
54 ],
55 themes: ['docusaurus-theme-openapi-docs'],
56 themeConfig: {
57 // Replace with your project's social card
58 // image: 'img/docusaurus-social-card.jpg',
59 announcementBar: {
60 content:
61 '<a href="https://github.com/spiceai/spiceai/releases/tag/v1.0.0-rc.4">Spice.ai OSS v1.0.0-rc.4</a> is now available! 🚀',
62 backgroundColor: 'var(--announcement-bar-bg)',
63 textColor: 'var(--announcement-bar-text)',
64 isCloseable: true,
65 },
66 navbar: {
67 title: 'Spice.ai OSS Docs',
68 logo: {
69 alt: 'Spice.ai OSS logo',
70 src: 'img/logo.svg',
71 },
72 hideOnScroll: true,
73 items: [
74 {
75 type: 'doc',
76 docId: 'getting-started/index',
77 position: 'left',
78 label: 'Getting Started',
79 },
80 {
81 label: 'Blog',
82 href: 'https://blog.spiceai.org',
83 position: 'right',
84 },
85 {
86 href: 'https://github.com/spiceai/spiceai',
87 label: 'GitHub',
88 position: 'right',
89 },
90 {
91 label: 'Discord',
92 href: 'https://discord.gg/kZnTfneP5u',
93 position: 'right',
94 },
95 ],
96 },
97 footer: {
98 style: 'dark',
99 links: [
100 {
101 title: 'Docs',
102 items: [
103 {
104 label: 'Getting Started',
105 to: '/getting-started',
106 },
107 ],
108 },
109 {
110 title: 'Community',
111 items: [
112 {
113 label: 'Reddit',
114 href: 'https://reddit.com/r/spiceai',
115 },
116 {
117 label: 'Discord',
118 href: 'https://discord.gg/kZnTfneP5u',
119 },
120 {
121 label: 'Twitter',
122 href: 'https://twitter.com/spice_ai',
123 },
124 ],
125 },
126 {
127 title: 'More',
128 items: [
129 {
130 label: 'Blog',
131 href: 'https://blog.spiceai.org',
132 },
133 {
134 label: 'GitHub',
135 href: 'https://github.com/spiceai/spiceai',
136 },
137 ],
138 },
139 ],
140 copyright: `Copyright © ${new Date().getFullYear()} Spice AI, Inc.`,
141 },
142 languageTabs: [
143 {
144 highlight: 'bash',
145 language: 'curl',
146 logoClass: 'curl',
147 },
148 ],
149 prism: {
150 theme: prismThemes.github,
151 darkTheme: prismThemes.dracula,
152 additionalLanguages: ['bash', 'json', 'csharp'],
153 },
154 algolia: {
155 appId: '0SP8I8JTL8',
156 apiKey: '72f66fe334ccd3c7db696a123d68735c',
157 indexName: 'spiceai',
158 contextualSearch: false,
159 },
160 } satisfies Preset.ThemeConfig,
161
162 plugins: [
163 [
164 'docusaurus-plugin-openapi-docs',
165 {
166 id: 'api',
167 docsPluginId: 'classic',
168 config: {
169 spice: {
170 proxy: 'http://localhost:8090',
171
172 specPath: 'public/openapi.json',
173 outputDir: 'docs/api/HTTP',
174 sidebarOptions: {
175 groupPathsBy: 'tag',
176 },
177 } satisfies OpenApiPlugin.Options,
178 },
179 },
180 ],
181 [
182 '@docusaurus/plugin-client-redirects',
183 {
184 redirects: [
185 {
186 from: '/federated-queries',
187 to: '/features/federated-queries',
188 },
189 {
190 from: '/data-ingestion',
191 to: '/features/data-ingestion',
192 },
193 {
194 from: '/data-acceleration',
195 to: '/features/data-acceleration',
196 },
197 ],
198 },
199 ],
200 ],
201};
202
203export default config;
204