import {themes as prismThemes} from 'prism-react-renderer'; import type {Config} from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; const config: Config = { title: 'data-structure-typed', tagline: 'Advanced JavaScript/TypeScript data structures that feel like arrays.', favicon: 'img/favicon.png', url: 'https://data-structure-typed-docs.vercel.app', baseUrl: '/', organizationName: 'zrwusa', projectName: 'data-structure-typed', onBrokenLinks: 'warn', onBrokenMarkdownLinks: 'warn', markdown: { format: 'md', }, i18n: { defaultLocale: 'en', locales: ['en'], }, headTags: [ { tagName: 'meta', attributes: { name: 'algolia-site-verification', content: '3BBF0EECA7FC2D22', }, }, { tagName: 'meta', attributes: { name: 'google-site-verification', content: 'w6GgmRPPZZtNCDgG46ooge-oljMn_cm4-FCaRHoSYrQ', }, }, { tagName: 'meta', attributes: { name: 'keywords', content: 'data structures, TypeScript, JavaScript, RedBlackTree, HashMap, Trie, Heap, PriorityQueue, Deque, Graph, BST, AVL Tree, zero-dependency, tree-shaking', }, }, { tagName: 'script', attributes: { type: 'application/ld+json', }, innerHTML: JSON.stringify({ '@context': 'https://schema.org', '@type': 'SoftwareSourceCode', name: 'data-structure-typed', description: 'Production-ready TypeScript data structures library — Heap, Priority Queue, TreeMap, TreeSet, Red-Black Tree, Trie, Graph, Deque, SkipList. Zero dependencies, type-safe, with getRank/getByRank/rangeByRank support.', url: 'https://data-structure-typed-docs.vercel.app', codeRepository: 'https://github.com/zrwusa/data-structure-typed', programmingLanguage: ['TypeScript', 'JavaScript'], license: 'https://opensource.org/licenses/MIT', author: { '@type': 'Person', name: 'Pablo Zeng', url: 'https://github.com/zrwusa', }, }), }, ], plugins: [], presets: [ [ 'classic', { docs: { sidebarPath: './sidebars.ts', editUrl: 'https://github.com/zrwusa/data-structure-typed/edit/main/docs-site-docusaurus/', remarkPlugins: [], rehypePlugins: [], }, theme: { customCss: './src/css/custom.css', }, } satisfies Preset.Options, ], ], themeConfig: { image: 'img/og-image.png', metadata: [ {name: 'og:image:width', content: '1200'}, {name: 'og:image:height', content: '630'}, ], navbar: { title: 'data-structure-typed', logo: { alt: 'data-structure-typed logo', src: 'img/logo.png', width: 32, height: 32, }, items: [ {type: 'docSidebar', sidebarId: 'guideSidebar', position: 'left', label: 'Guide'}, {to: '/docs/api/', label: 'API', position: 'left'}, { href: 'https://github.com/zrwusa/data-structure-typed', label: 'GitHub', position: 'right', }, { href: 'https://www.npmjs.com/package/data-structure-typed', label: 'npm', position: 'right', }, ], }, footer: { style: 'dark', links: [ { title: 'Docs', items: [ {label: 'Installation', to: '/docs/guide/installation'}, {label: 'Quick Start', to: '/docs/guide/quick-start'}, {label: 'API Reference', to: '/docs/api/'}, ], }, { title: 'More', items: [ {label: 'GitHub', href: 'https://github.com/zrwusa/data-structure-typed'}, {label: 'npm', href: 'https://www.npmjs.com/package/data-structure-typed'}, {label: 'Changelog', href: 'https://github.com/zrwusa/data-structure-typed/blob/main/CHANGELOG.md'}, ], }, ], copyright: `Copyright © ${new Date().getFullYear()} Pablo Zeng. Built with Docusaurus.`, }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, algolia: { appId: '2CK3V43PRR', apiKey: 'ab7ce559e3114987b4f26430427409ae', indexName: 'data-structure-typed-docs-crawler', contextualSearch: false, searchPagePath: 'search', searchParameters: { hitsPerPage: 30, distinct: false, }, maxResultsPerGroup: 20, }, } satisfies Preset.ThemeConfig, }; export default config;