twenty/docs/docusaurus.config.js
Charles Bochet e70ef58f97
Live code editor for UI docs (#2351)
* Docausaurus code live editor test

* Docusaurus sandpack test

* Fix setup

* Delete files

* Fixes

* Complete work

* Fix config

* Fix config

---------

Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
2023-11-03 23:09:20 +01:00

125 lines
3.9 KiB
JavaScript

// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
import { themes } from 'prism-react-renderer';
const lightCodeTheme = themes.github;
const darkCodeTheme = themes.dracula;
/** @type {import('@docusaurus/types').Config} */
const config = {
title: "Twenty - Documentation",
tagline: "Twenty is cool",
favicon: "img/logo-square-dark.ico",
// Prevent search engines from indexing the doc for selected environments
noIndex: process.env.SHOULD_INDEX_DOC === "false",
// Set the production url of your site here
url: "https://docs.twenty.com",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: "/",
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
headTags: [],
// Even if you don't use internalization, 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"],
},
presets: [
[
"classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
breadcrumbs: false,
sidebarPath: require.resolve("./sidebars.js"),
sidebarCollapsible: false,
routeBasePath: "/",
editUrl: "https://github.com/twentyhq/twenty/edit/main/docs/",
},
blog: false,
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
// Replace with your project's social card
image: "img/social-card.png",
colorMode: {
defaultMode: "light",
respectPrefersColorScheme: false,
},
navbar: {
/*title: 'Twenty',*/
logo: {
alt: "Twenty",
src: "img/logo-square-dark.svg",
srcDark: "img/logo-square-light.svg",
},
items: [
{
type: "search",
position: "left",
},
{
to: "/user-guide",
label: "User Guide",
position: "right",
},
{
to: "https://github.com/twentyhq/twenty/releases",
label: "Releases",
position: "right",
},
{
href: "https://github.com/twentyhq/twenty",
position: "right",
className: "header-github-link",
"aria-label": "GitHub repository",
},
],
},
algolia: {
appId: "J2OX2P2QAO",
apiKey: "e0a7a59c7862598a0cf87307c8ea97f2",
indexName: "twenty",
// Optional: see doc section below
contextualSearch: true,
// Optional: Specify domains where the navigation should occur through window.location instead on history.push. Useful when our Algolia config crawls multiple documentation sites and we want to navigate with window.location.href to them.
// externalUrlRegex: 'external\\.com|domain\\.com',
// Optional: Replace parts of the item URLs from Algolia. Useful when using the same search index for multiple deployments using a different baseUrl. You can use regexp or string in the `from` param. For example: localhost:3000 vs myCompany.com/docs
/* replaceSearchResultPathname: {
from: '/docs/', // or as RegExp: /\/docs\//
to: '/',
},*/
// Optional: Algolia search parameters
searchParameters: {},
// Optional: path for search page that enabled by default (`false` to disable it)
searchPagePath: "search",
},
/* footer: {
copyright: `© ${new Date().getFullYear()} Twenty. Docs generated with Docusaurus.`,
},*/
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
}),
};
module.exports = config;