clockworklabs_spacetimedb/docs/docusaurus.config.ts
clockwork-tien 5764ade224
fix(docs): Rename spacerace to referrals for nav item (#4477)
# Description of Changes
- Rename `Spacerace` to `Referrals` for docs nav item to align with
updated naming

<!-- Please describe your change, mention any related tickets, and so on
here. -->

# Screenshots
- After:
<img width="1510" height="49" alt="image"
src="https://github.com/user-attachments/assets/3bdbe6ec-8a51-4686-9292-28c38b6d14d9"
/>

- Before:
<img width="1460" height="47" alt="image"
src="https://github.com/user-attachments/assets/5c70b0ef-d5fc-42fa-9dc9-5fd4f034d415"
/>


# API and ABI breaking changes

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

# Expected complexity level and risk
1

<!--
How complicated do you think these changes are? Grade on a scale from 1
to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex
change.

This complexity rating applies not only to the complexity apparent in
the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning
ways. -->

# Testing

<!-- Describe any testing you've done, and any testing you'd like your
reviewers to do,
so that you're confident that all the changes work as expected! -->

- [x] Docs displays correctly
2026-02-26 11:06:16 +00:00

224 lines
5.6 KiB
TypeScript

import type { Config } from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
import rehypeShiki, { RehypeShikiOptions } from '@shikijs/rehype';
import bash from 'shiki/langs/bash.mjs';
import c from 'shiki/langs/c.mjs';
import csharp from 'shiki/langs/csharp.mjs';
import fsharp from 'shiki/langs/fsharp.mjs';
import json from 'shiki/langs/json.mjs';
import markdown from 'shiki/langs/markdown.mjs';
import protobuf from 'shiki/langs/proto.mjs';
import python from 'shiki/langs/python.mjs';
import rust from 'shiki/langs/rust.mjs';
import sql from 'shiki/langs/sql.mjs';
import toml from 'shiki/langs/toml.mjs';
import typescript from 'shiki/langs/typescript.mjs';
import tsx from 'shiki/langs/tsx.mjs';
import css from 'shiki/langs/css.mjs';
import nginx from 'shiki/langs/nginx.mjs';
import systemd from 'shiki/langs/systemd.mjs';
import ogTheme from 'shiki/themes/dracula.mjs';
import cpp from 'shiki/langs/cpp.mjs';
import { InkeepConfig } from '@inkeep/cxkit-docusaurus';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
const shikiTheme = {
...ogTheme,
name: 'spacetime-dark',
};
shikiTheme.colors!['editor.background'] =
'var(--clockworklabs-code-background-color)';
const inkeepConfig: Partial<InkeepConfig> = {
baseSettings: {
// This API key is public, it's okay to have it in client code, https://docs.inkeep.com/cloud/ui-components/public-api-keys#public-clients
apiKey: '13504c49fb56b7c09a5ea0bcd68c2b55857661be4d6d311b',
organizationDisplayName: 'SpacetimeDB',
primaryBrandColor: '#4cf490',
colorMode: {
forcedColorMode: 'dark',
},
},
};
const config: Config = {
title: 'SpacetimeDB docs',
tagline: 'SpacetimeDB',
favicon: 'https://spacetimedb.com/favicon-32x32.png',
url: 'https://spacetimedb.com',
// this means the site is served at https://spacetimedb.com/docs/
baseUrl: '/docs/',
onBrokenLinks: 'throw',
onBrokenAnchors: 'throw',
markdown: {
hooks: {
onBrokenMarkdownImages: 'throw',
onBrokenMarkdownLinks: 'throw',
},
},
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
clientModules: [
require.resolve('./src/client-modules/fonts'),
require.resolve('./src/client-modules/inkeep-font-override'),
],
headTags: [
{
tagName: 'link',
attributes: {
rel: 'preload',
as: 'font',
type: 'font/woff2',
href: '/docs/fonts/inter-latin-wght-normal.woff2',
crossorigin: 'anonymous',
},
},
{
tagName: 'link',
attributes: {
rel: 'preload',
as: 'font',
type: 'font/woff2',
href: '/docs/fonts/source-code-pro-latin-wght-normal.woff2',
crossorigin: 'anonymous',
},
},
],
presets: [
[
'classic',
{
docs: {
editUrl:
'https://github.com/clockworklabs/SpacetimeDB/edit/master/docs/',
routeBasePath: '/',
sidebarPath: './sidebars.ts',
sidebarCollapsed: false,
includeCurrentVersion: true,
lastVersion: 'current',
versions: {
current: {
label: '2.0.0',
path: '',
banner: 'none',
},
'1.12.0': {
label: '1.12.0',
banner: 'none',
},
},
beforeDefaultRehypePlugins: [
[
rehypeShiki,
{
theme: shikiTheme,
langs: [
sql,
rust,
csharp,
markdown,
typescript,
bash,
json,
toml,
python,
c,
cpp,
protobuf,
fsharp,
systemd,
tsx,
css,
nginx,
],
} satisfies RehypeShikiOptions,
],
],
},
blog: false,
theme: {
customCss: './src/css/custom.css',
},
} satisfies Preset.Options,
],
],
themeConfig: {
navbar: {
logo: {
alt: 'SpacetimeDB Logo',
src: 'https://spacetimedb.com/images/brand.svg',
href: 'https://spacetimedb.com',
target: '_self',
},
hideOnScroll: false,
items: [
{ type: 'search', position: 'left' },
{ type: 'docsVersionDropdown', position: 'left' },
{
href: 'https://spacetimedb.com/install',
label: 'Install',
position: 'right',
},
{
href: 'https://spacetimedb.com/pricing',
label: 'Pricing',
position: 'right',
},
{
href: 'https://spacetimedb.com/blog',
label: 'Blog',
position: 'right',
},
{
href: 'https://spacetimedb.com/community',
label: 'Community',
position: 'right',
},
{
href: 'https://spacetimedb.com/space-race',
label: 'Referrals',
position: 'right',
},
{
href: 'https://spacetimedb.com/login',
label: 'Login',
position: 'right',
className: 'navbar__button',
},
],
},
footer: {},
prism: {},
colorMode: {
disableSwitch: true,
defaultMode: 'light',
},
} satisfies Preset.ThemeConfig,
plugins: [
[
'@inkeep/cxkit-docusaurus',
{
SearchBar: {
...inkeepConfig,
},
ChatButton: {
...inkeepConfig,
},
},
],
],
};
export default config;