mirror of
https://github.com/hwchase17/langchain
synced 2024-11-13 19:10:52 +00:00
317 lines
8.6 KiB
JavaScript
317 lines
8.6 KiB
JavaScript
/* 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 prism = require("prism-react-renderer");
|
|
|
|
const baseLightCodeBlockTheme = prism.themes.vsLight;
|
|
const baseDarkCodeBlockTheme = prism.themes.vsDark;
|
|
|
|
const baseUrl = "/";
|
|
|
|
/** @type {import('@docusaurus/types').Config} */
|
|
const config = {
|
|
title: "🦜️🔗 LangChain",
|
|
tagline: "LangChain Python Docs",
|
|
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: baseUrl,
|
|
trailingSlash: true,
|
|
onBrokenLinks: "throw",
|
|
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: {
|
|
fullySpecified: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}),
|
|
}),
|
|
],
|
|
|
|
presets: [
|
|
[
|
|
"classic",
|
|
/** @type {import('@docusaurus/preset-classic').Options} */
|
|
({
|
|
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) => {
|
|
// 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");
|
|
}
|
|
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:
|
|
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
|
({
|
|
docs: {
|
|
sidebar: {
|
|
hideable: true,
|
|
autoCollapseCategories: true,
|
|
},
|
|
},
|
|
colorMode: {
|
|
disableSwitch: false,
|
|
respectPrefersColorScheme: true,
|
|
},
|
|
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: '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",
|
|
},
|
|
// Please keep GitHub link to the right for consistency.
|
|
{
|
|
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: {
|
|
// 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-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;
|