langchain/docs/docusaurus.config.js

335 lines
9.0 KiB
JavaScript
Raw Normal View History

/* eslint-disable global-require,import/no-extraneous-dependencies */
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
// eslint-disable-next-line import/no-extraneous-dependencies
const { ProvidePlugin } = require("webpack");
require("dotenv").config();
const baseLightCodeBlockTheme = require("prism-react-renderer/themes/vsLight");
const baseDarkCodeBlockTheme = require("prism-react-renderer/themes/vsDark");
/** @type {import('@docusaurus/types').Config} */
const config = {
2024-04-05 02:36:33 +00:00
title: "🦜️🔗 LangChain",
tagline: "LangChain Python Docs",
2024-02-22 23:20:34 +00:00
favicon: "img/brand/favicon.png",
// Set the production url of your site here
url: "https://python.langchain.com",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: "/",
trailingSlash: true,
2024-03-11 17:50:39 +00:00
onBrokenLinks: "throw",
2023-06-20 21:06:50 +00:00
onBrokenMarkdownLinks: "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: {
2023-09-25 18:54:32 +00:00
fullySpecified: false,
},
},
],
},
}),
}),
],
presets: [
[
"classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
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) => {
// This allows breaking long sidebar labels into multiple lines
// by inserting a zero-width space after each slash.
if (
"label" in subItem &&
subItem.label &&
subItem.label.includes("/")
) {
// eslint-disable-next-line no-param-reassign
subItem.label = subItem.label.replace(/\//g, "/\u200B");
}
});
return sidebarItems;
},
},
pages: {
remarkPlugins: [require("@docusaurus/remark-plugin-npm2yarn")],
},
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
docs: {
sidebar: {
hideable: true,
2023-10-11 02:56:21 +00:00
autoCollapseCategories: true,
},
},
colorMode: {
disableSwitch: false,
respectPrefersColorScheme: true,
},
prism: {
theme: {
...baseLightCodeBlockTheme,
plain: {
...baseLightCodeBlockTheme.plain,
backgroundColor: "#F5F5F5",
},
},
darkTheme: {
...baseDarkCodeBlockTheme,
plain: {
...baseDarkCodeBlockTheme.plain,
backgroundColor: "#222222",
},
},
},
2024-02-22 23:20:34 +00:00
image: "img/brand/theme-image.png",
navbar: {
2024-02-22 23:20:34 +00:00
logo: {src: "img/brand/wordmark.png", srcDark: "img/brand/wordmark-dark.png"},
items: [
2023-07-21 20:52:03 +00:00
{
to: "/docs/modules",
label: "Components",
2023-07-21 20:52:03 +00:00
position: "left",
},
{
2023-09-25 18:54:32 +00:00
type: "docSidebar",
position: "left",
sidebarId: "integrations",
label: "Integrations",
2023-07-21 20:52:03 +00:00
},
{
to: "/docs/guides",
label: "Guides",
position: "left",
},
2023-07-21 20:52:03 +00:00
{
href: "https://api.python.langchain.com",
label: "API Reference",
2023-07-21 20:52:03 +00:00
position: "left",
},
2023-09-28 19:44:52 +00:00
{
2023-10-24 19:28:08 +00:00
type: "dropdown",
label: "More",
2023-09-28 19:44:52 +00:00
position: "left",
2023-10-24 19:28:08 +00:00
items: [
{
to: "/docs/people/",
label: "People",
},
2023-11-10 07:36:21 +00:00
{
to: "/docs/packages",
label: "Versioning",
2023-11-10 07:36:21 +00:00
},
{
to: "/docs/contributing",
label: "Contributing",
},
2023-10-24 19:28:08 +00:00
{
type: "docSidebar",
sidebarId: "templates",
label: "Templates",
2023-10-24 19:28:08 +00:00
},
{
label: "Cookbooks",
href: "https://github.com/langchain-ai/langchain/blob/master/cookbook/README.md"
},
2023-10-24 19:28:08 +00:00
{
to: "/docs/additional_resources/tutorials",
label: "Tutorials"
},
{
to: "/docs/additional_resources/youtube",
2024-02-06 00:12:56 +00:00
label: "YouTube"
2023-10-24 19:28:08 +00:00
},
]
2023-09-28 19:44:52 +00:00
},
{
2023-10-24 19:28:08 +00:00
type: "dropdown",
label: "🦜️🔗",
position: "right",
2023-10-24 19:28:08 +00:00
items: [
{
href: "https://smith.langchain.com",
label: "LangSmith",
},
{
href: "https://docs.smith.langchain.com/",
label: "LangSmith Docs",
},
2023-10-24 19:28:08 +00:00
{
href: "https://github.com/langchain-ai/langserve",
label: "LangServe GitHub",
2023-10-24 19:28:08 +00:00
},
2023-11-09 23:05:18 +00:00
{
href: "https://github.com/langchain-ai/langchain/tree/master/templates",
label: "Templates GitHub",
},
{
label: "Templates Hub",
href: "https://templates.langchain.com",
},
2023-10-24 19:28:08 +00:00
{
href: "https://smith.langchain.com/hub",
label: "LangChain Hub",
2023-10-24 19:28:08 +00:00
},
{
href: "https://js.langchain.com",
label: "JS/TS Docs",
2023-10-24 19:28:08 +00:00
},
]
},
{
href: "https://chat.langchain.com",
label: "💬",
position: "right",
},
// Please keep GitHub link to the right for consistency.
{
href: "https://github.com/langchain-ai/langchain",
2023-09-25 18:54:32 +00:00
position: "right",
className: "header-github-link",
"aria-label": "GitHub repository",
},
],
},
footer: {
style: "light",
links: [
{
title: "Community",
items: [
{
label: "Discord",
href: "https://discord.gg/cU2adEyC7w",
},
{
label: "Twitter",
href: "https://twitter.com/LangChainAI",
},
],
},
{
title: "GitHub",
items: [
{
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",
},
2024-02-06 00:12:56 +00:00
{
label: "YouTube",
href: "https://www.youtube.com/@LangChain",
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} LangChain, Inc.`,
},
algolia: {
// The application ID provided by Algolia
appId: "VAU016LAWS",
// Public API key: it is safe to commit it
// this is linked to erick@langchain.dev currently
apiKey: "6c01842d6a88772ed2236b9c85806441",
indexName: "python-langchain",
contextualSearch: true,
},
}),
2023-09-25 18:54:32 +00:00
scripts: [
"/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;