docusaurus.config.js (162 lines of code) (raw):

// @ts-check // `@type` JSDoc annotations allow editor autocompletion and type checking // (when paired with `@ts-check`). // There are various equivalent ways to declare your Docusaurus config. // See: https://docusaurus.io/docs/api/docusaurus-config import { themes as prismThemes } from 'prism-react-renderer'; import fauxRemarkEmbedder from '@remark-embedder/core'; import { readFileSync } from 'fs'; import oembedTransformer from './src/transformers/oembed.js'; import jupyterTransformer from './src/transformers/jupyter.js'; const footerLink = (href, path) => { return `<a class="footer__link-item" target="_blank" rel="noopener noreferrer" href="${href}">${readFileSync( path, { encoding: 'utf-8', }, )}</a>`; }; /** @type {import('@docusaurus/types').Config} */ const config = { title: 'DIAL Knowledge Base', favicon: 'img/favicon.svg', // Set the production url of your site here url: 'https://docs.epam-rail.com', // Set the /<baseUrl>/ pathname under which your site is served // For GitHub pages deployment, it is often '/<projectName>/' baseUrl: '/', trailingSlash: false, // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. organizationName: 'epam', // Usually your GitHub org/user name. projectName: 'ai-dial', // Usually your repo name. deploymentBranch: 'gh-pages', onBrokenLinks: 'throw', //'throw', for exceptions onBrokenMarkdownLinks: 'throw', onDuplicateRoutes: 'throw', // Even if you don't use internationalization, you can use this field to set // useful metadata like html lang. For example, if your site is Chinese, you // may want to replace "en" with "zh-Hans". i18n: { defaultLocale: 'en', locales: ['en'], }, plugins: [ 'docusaurus-plugin-image-zoom', // can also just be 'image-zoom' ], presets: [ [ 'classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { routeBasePath: '/', sidebarPath: './sidebars.js', // Please change this to your repo. // Remove this to remove the "edit this page" links. //editUrl: // 'https://github.com/epam/ai-dial/tree/main/', remarkPlugins: [ [ fauxRemarkEmbedder, { transformers: [oembedTransformer, jupyterTransformer] }, ], ], }, blog: false, theme: { customCss: './src/css/custom.css', }, sitemap: { changefreq: 'weekly', priority: 0.5, }, gtag: { trackingID: 'G-GVY5VWYV1E', }, }), ], ], // scripts: // process.env.NODE_ENV === 'development' // ? [] // : [ // { // src: 'https://cookie-cdn.cookiepro.com/consent/3a34bbfa-93e4-4ba6-9383-7da88d67ed18/OtAutoBlock.js', // type: 'text/javascript', // }, // { // src: 'https://cookie-cdn.cookiepro.com/scripttemplates/otSDKStub.js', // type: 'text/javascript', // charset: 'UTF-8', // 'data-domain-script': '3a34bbfa-93e4-4ba6-9383-7da88d67ed18', // }, // { // src: 'src/scripts/optanonWrapper.js', // type: 'text/javascript', // }, // ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ navbar: { title: '', // 'EPAM DIAL', logo: { alt: 'EPAM DIAL', src: 'img/dialx-logo.svg', srcDark: 'img/dialx-logo.svg', }, items: [ // { // type: 'docSidebar', // sidebarId: 'tutorialSidebar', // position: 'left', // label: 'Tutorial', // }, ], }, footer: { links: [ { items: [ { label: 'Privacy policy', to: 'https://www.epam.com/privacy-policy', }, { label: 'Cookie policy', to: 'https://www.epam.com/cookie-policy', }, ], }, { items: [ { html: `© ${new Date().getFullYear()} All Rights Reserved`, }, ], }, { items: [ { html: footerLink( 'https://discord.gg/hgqEAbEwZ9', './static/discord.svg', ), }, { html: footerLink( 'https://www.youtube.com/@TeamDialX', './static/youtube.svg', ), }, { html: footerLink( 'https://github.com/search?q=org%3Aepam++DIAL&type=repositories', './static/github.svg', ), }, ], }, ], }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, colorMode: { defaultMode: 'dark', }, tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 4, }, zoom: { selector: '.markdown img:not(.no-zoom)', background: { light: 'rgb(255, 255, 255)', dark: 'rgb(50, 50, 50)', }, config: { scrollOffset: 1100, margin: 10, }, }, algolia: { appId: '8ZBWD7ULLD', apiKey: 'ac2f650541ceb44057cb625556f5e70a', indexName: 'epam-rail', contextualSearch: true, algoliaOptions: { // facets: [ "language" ] }, }, metadata: [ { name: 'description', content: 'AI DIAL knowledge base portal.' }, { name: 'keywords', content: 'AI DIAL, RAG, GenAI, AI platform, EPAM DIAL', }, { name: 'summary', content: 'AI DIAL is a secure, enterprise-grade and open-source platform. It has an API-first, cloud and model-agnostic design that makes it suitable for a wide variety of use cases. ', }, ], }), }; export default config;