// @ts-check // Note: type annotations allow type checking and IDEs autocompletion const lightCodeTheme = require("prism-react-renderer/themes/github"); const darkCodeTheme = require("prism-react-renderer/themes/dracula"); const { remarkCodeHike } = require("@code-hike/mdx"); /** @type {import('@docusaurus/types').Config} */ const config = { title: "Langflow Documentation", tagline: "Langflow is a GUI for LangChain, designed with react-flow", favicon: "img/favicon.ico", url: "https://langflow-ai.github.io", baseUrl: "/", onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", organizationName: "langflow-ai", projectName: "langflow", trailingSlash: false, staticDirectories: ["static"], customFields: { mendableAnonKey: process.env.MENDABLE_ANON_KEY, }, i18n: { defaultLocale: "en", locales: ["en"], }, presets: [ [ "@docusaurus/preset-classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { routeBasePath: "/", // Serve the docs at the site's root sidebarPath: undefined, // `undefined` to create a fully autogenerated sidebar. sidebarCollapsed: false, beforeDefaultRemarkPlugins: [ [ remarkCodeHike, { theme: "github-dark", showCopyButton: true, lineNumbers: true, }, ], ], }, gtag: { trackingID: "G-XHC7G628ZP", anonymizeIP: true, }, googleTagManager: { containerId: "GTM-NK5M4ZT8", }, blog: false, theme: { customCss: [ require.resolve("@code-hike/mdx/styles.css"), require.resolve("./css/custom.css"), require.resolve("./css/docu-notion-styles.css"), require.resolve( "./css/gifplayer.css" //"./node_modules/react-gif-player/dist/gifplayer.css" // this gave a big red compile warning which is seaming unrelated " Replace Autoprefixer browsers option to Browserslist config..." ), ], }, }), ], ], plugins: [ ["docusaurus-node-polyfills", { excludeAliases: ["console"] }], "docusaurus-plugin-image-zoom", // .... async function myPlugin(context, options) { return { name: "docusaurus-tailwindcss", configurePostCss(postcssOptions) { // Appends TailwindCSS and AutoPrefixer. postcssOptions.plugins.push(require("tailwindcss")); postcssOptions.plugins.push(require("autoprefixer")); return postcssOptions; }, }; }, ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ sitemap: { // https://www.sitemaps.org/protocol.html#xmlTagDefinitions changefreq: "weekly", priority: 0.5, ignorePatterns: [], }, navbar: { hideOnScroll: true, title: "Langflow", logo: { alt: "Langflow", src: "img/chain.png", }, items: [ // right { position: "right", href: "https://github.com/langflow-ai/langflow", className: "header-github-link", target: "_blank", rel: null, }, { position: "right", href: "https://twitter.com/langflow_ai", className: "header-twitter-link", target: "_blank", rel: null, }, { position: "right", href: "https://discord.gg/EqksyE2EX9", className: "header-discord-link", target: "_blank", rel: null, }, ], }, colorMode: { defaultMode: "light", /* Allow users to chose light or dark mode. */ disableSwitch: false, /* Respect user preferences, such as low light mode in the evening */ respectPrefersColorScheme: true, }, prism: { theme: lightCodeTheme, darkTheme: darkCodeTheme, }, zoom: { selector: ".markdown :not(a) > img:not(.no-zoom)", background: { light: "rgba(240, 240, 240, 0.9)", }, config: {}, }, docs: { sidebar: { hideable: true, }, }, }), }; module.exports = config;