| |
|
|
| |
| |
| |
| const { ProvidePlugin } = require("webpack"); |
| require("dotenv").config(); |
|
|
| const prism = require("prism-react-renderer"); |
|
|
| const baseLightCodeBlockTheme = prism.themes.vsLight; |
| const baseDarkCodeBlockTheme = prism.themes.vsDark; |
|
|
| const baseUrl = "/"; |
|
|
| |
| const config = { |
| title: "🦜️🔗 LangChain", |
| tagline: "LangChain Python Docs", |
| favicon: "img/brand/favicon.png", |
| |
| url: "https://python.langchain.com", |
| |
| |
| baseUrl: baseUrl, |
| trailingSlash: true, |
| onBrokenLinks: "throw", |
| onBrokenMarkdownLinks: "throw", |
| onBrokenAnchors: "throw", |
|
|
| themes: ["@docusaurus/theme-mermaid"], |
| markdown: { |
| mermaid: true, |
| }, |
|
|
| plugins: [ |
| () => ({ |
| name: "custom-webpack-config", |
| configureWebpack: () => ({ |
| plugins: [ |
| new ProvidePlugin({ |
| process: require.resolve("process/browser"), |
| }), |
| ], |
| resolve: { |
| fallback: { |
| path: false, |
| url: false, |
| }, |
| }, |
| module: { |
| rules: [ |
| { |
| test: /\.m?js/, |
| resolve: { |
| fullySpecified: false, |
| }, |
| }, |
| { |
| test: /\.py$/, |
| loader: "raw-loader", |
| resolve: { |
| fullySpecified: false, |
| }, |
| }, |
| { |
| test: /\.ya?ml$/, |
| use: 'yaml-loader' |
| }, |
| { |
| test: /\.ipynb$/, |
| loader: "raw-loader", |
| resolve: { |
| fullySpecified: false, |
| }, |
| }, |
| ], |
| }, |
| }), |
| }), |
| ], |
|
|
| presets: [ |
| [ |
| "classic", |
| |
| ({ |
| docs: { |
| editUrl: "https://github.com/langchain-ai/langchain/edit/master/docs/", |
| sidebarPath: require.resolve("./sidebars.js"), |
| remarkPlugins: [ |
| [require("@docusaurus/remark-plugin-npm2yarn"), { sync: true }], |
| ], |
| async sidebarItemsGenerator({ |
| defaultSidebarItemsGenerator, |
| ...args |
| }) { |
| const sidebarItems = await defaultSidebarItemsGenerator(args); |
| sidebarItems.forEach((subItem) => { |
| |
| |
| if ( |
| "label" in subItem && |
| subItem.label && |
| subItem.label.includes("/") |
| ) { |
| |
| subItem.label = subItem.label.replace(/\//g, "/\u200B"); |
| } |
| if (args.item.className) { |
| subItem.className = args.item.className; |
| } |
| }); |
| return sidebarItems; |
| }, |
| }, |
| pages: { |
| remarkPlugins: [require("@docusaurus/remark-plugin-npm2yarn")], |
| }, |
| theme: { |
| customCss: require.resolve("./src/css/custom.css"), |
| }, |
| }), |
| ], |
| ], |
|
|
| themeConfig: |
| |
| ({ |
| docs: { |
| sidebar: { |
| hideable: true, |
| autoCollapseCategories: true, |
| }, |
| }, |
| colorMode: { |
| disableSwitch: false, |
| respectPrefersColorScheme: true, |
| }, |
| announcementBar: { |
| content: |
| '<strong>Join us at <a href="https://interrupt.langchain.com/" target="_blank" rel="noopener noreferrer"> Interrupt: The Agent AI Conference by LangChain</a> on May 13 & 14 in San Francisco!</strong>', |
| backgroundColor: '#d0c9fe' |
| }, |
| prism: { |
| theme: { |
| ...baseLightCodeBlockTheme, |
| plain: { |
| ...baseLightCodeBlockTheme.plain, |
| backgroundColor: "#F5F5F5", |
| }, |
| }, |
| darkTheme: { |
| ...baseDarkCodeBlockTheme, |
| plain: { |
| ...baseDarkCodeBlockTheme.plain, |
| backgroundColor: "#222222", |
| }, |
| }, |
| }, |
| image: "img/brand/theme-image.png", |
| navbar: { |
| logo: {src: "img/brand/wordmark.png", srcDark: "img/brand/wordmark-dark.png"}, |
| items: [ |
| { |
| type: "docSidebar", |
| position: "left", |
| sidebarId: "integrations", |
| label: "Integrations", |
| }, |
| { |
| label: "API Reference", |
| to: "https://python.langchain.com/api_reference/", |
| }, |
| { |
| type: "dropdown", |
| label: "More", |
| position: "left", |
| items: [ |
| { |
| type: "doc", |
| docId: "contributing/index", |
| label: "Contributing", |
| }, |
| { |
| type: "doc", |
| docId: "people", |
| label: "People", |
| }, |
| { |
| type: "doc", |
| docId: "troubleshooting/errors/index", |
| label: "Error reference", |
| }, |
| { |
| type: 'html', |
| value: '<hr class="dropdown-separator" style="margin-top: 0.5rem; margin-bottom: 0.5rem">', |
| }, |
| { |
| href: "https://docs.smith.langchain.com", |
| label: "LangSmith", |
| }, |
| { |
| href: "https://langchain-ai.github.io/langgraph/", |
| label: "LangGraph", |
| }, |
| { |
| href: "https://smith.langchain.com/hub", |
| label: "LangChain Hub", |
| }, |
| { |
| href: "https://js.langchain.com", |
| label: "LangChain JS/TS", |
| }, |
| ] |
| }, |
| { |
| type: "dropdown", |
| label: "v0.3", |
| position: "right", |
| items: [ |
| { |
| label: "v0.3", |
| href: "/docs/introduction" |
| }, |
| { |
| label: "v0.2", |
| href: "https://python.langchain.com/v0.2/docs/introduction" |
| }, |
| { |
| label: "v0.1", |
| href: "https://python.langchain.com/v0.1/docs/get_started/introduction" |
| } |
| ] |
| }, |
| { |
| to: "https://chat.langchain.com", |
| label: "💬", |
| position: "right", |
| }, |
| |
| { |
| href: "https://github.com/langchain-ai/langchain", |
| position: "right", |
| className: "header-github-link", |
| "aria-label": "GitHub repository", |
| }, |
| ], |
| }, |
| footer: { |
| style: "light", |
| links: [ |
| { |
| title: "Community", |
| items: [ |
| { |
| label: "Twitter", |
| href: "https://twitter.com/LangChainAI", |
| }, |
| ], |
| }, |
| { |
| title: "GitHub", |
| items: [ |
| { |
| label: "Organization", |
| href: "https://github.com/langchain-ai", |
| }, |
| { |
| label: "Python", |
| href: "https://github.com/langchain-ai/langchain", |
| }, |
| { |
| label: "JS/TS", |
| href: "https://github.com/langchain-ai/langchainjs", |
| }, |
| ], |
| }, |
| { |
| title: "More", |
| items: [ |
| { |
| label: "Homepage", |
| href: "https://langchain.com", |
| }, |
| { |
| label: "Blog", |
| href: "https://blog.langchain.dev", |
| }, |
| { |
| label: "YouTube", |
| href: "https://www.youtube.com/@LangChain", |
| }, |
| ], |
| }, |
| ], |
| copyright: `Copyright © ${new Date().getFullYear()} LangChain, Inc.`, |
| }, |
| algolia: { |
| |
| appId: "VAU016LAWS", |
|
|
| |
| |
| apiKey: "6c01842d6a88772ed2236b9c85806441", |
|
|
| indexName: "python-langchain-latest", |
|
|
| contextualSearch: false, |
| }, |
| }), |
|
|
| scripts: [ |
| baseUrl + "js/google_analytics.js", |
| { |
| src: "https://www.googletagmanager.com/gtag/js?id=G-9B66JQQH2F", |
| async: true, |
| }, |
| ], |
|
|
| customFields: { |
| supabasePublicKey: process.env.NEXT_PUBLIC_SUPABASE_PUBLIC_KEY, |
| supabaseUrl: process.env.NEXT_PUBLIC_SUPABASE_URL, |
| }, |
| }; |
|
|
| module.exports = config; |
|
|