mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
c44601b33c
<!-- Thanks for creating a PR! To make it easier for reviewers and everyone else to understand what your changes relate to, please add some relevant content to the headings below. Feel free to ignore or delete sections that you don't think are relevant. Thank you! ❤️ --> ## About the changes <!-- Describe the changes introduced. What are they and why are they being introduced? Feel free to also add screenshots or steps to view the changes if they're visual. --> We've made some first round updates to the React tutorial: - making it more SEO-friendly with ordered lists, sequential language, description of the JS library - Switched over the demo app to point to an open source project: [Cypress Real World App](https://github.com/cypress-io/cypress-realworld-app) - included best practice considerations for client-side development - updated URL path to point to `/feature-flag-tutorials/react` for simplification ## Discussion points <!-- Anything about the PR you'd like to discuss before it gets merged? Got any questions or doubts? --> Would love feedback on if there's a need for more screenshots? Don't want to be too screenshot-heavy though I imagine. And need feedback on the descriptions of "Considerations for using feature flags in react" https://github.com/Unleash/unleash/compare/react-improvements?expand=1#diff-96d4956f49f80cd76489a72d4d88c2956ce9dcc695f66fe014ad1185e37cb589R21 Want to make sure that what I described makes sense or if it could use some tweaking to convey the right message clearly.
799 lines
31 KiB
JavaScript
799 lines
31 KiB
JavaScript
const { sdks } = require('./remote-content/sdks');
|
|
const { docs: edgeAndProxy } = require('./remote-content/edge-proxy');
|
|
|
|
// for a given redirect object, modify it's `from` property such that for every
|
|
// path that doesn't start with `/docs/`, a corresponding path that _does_ start
|
|
// with `/docs/` is added.
|
|
//
|
|
// For instance, given the object
|
|
//
|
|
// {
|
|
// to: '/new/path',
|
|
// from: ['/old/path', '/docs/other/old/path'],
|
|
// }
|
|
//
|
|
// it will produce
|
|
//
|
|
// {
|
|
// to: '/new/path',
|
|
// from: ['/old/path', '/docs/old/path', '/docs/other/old/path'],
|
|
// }
|
|
//
|
|
const addDocsRoutePrefix = ({ from, ...rest }) => {
|
|
const addDocs = (from) => {
|
|
if (Array.isArray(from)) {
|
|
// if `from` is a list, then check each entry
|
|
return from.flatMap(addDocs);
|
|
} else {
|
|
if (from.startsWith('/docs/')) {
|
|
return [from];
|
|
} else {
|
|
return [from, `/docs${from}`];
|
|
}
|
|
}
|
|
};
|
|
|
|
return {
|
|
...rest,
|
|
from: addDocs(from),
|
|
};
|
|
};
|
|
/** @type {import('@docusaurus/types').DocusaurusConfig} */
|
|
module.exports = {
|
|
title: 'Unleash',
|
|
tagline: 'The enterprise ready feature toggle service',
|
|
url: 'https://docs.getunleash.io',
|
|
baseUrl: '/',
|
|
onBrokenLinks: 'throw',
|
|
onBrokenMarkdownLinks: 'throw',
|
|
favicon: 'img/favicon.ico',
|
|
organizationName: 'Unleash', // Usually your GitHub org/user name.
|
|
projectName: 'unleash.github.io', // Usually your repo name.
|
|
trailingSlash: false,
|
|
markdown: { mermaid: true },
|
|
customFields: {
|
|
// expose env vars etc here
|
|
environment: process.env.NODE_ENV,
|
|
},
|
|
themeConfig: {
|
|
defaultMode: 'light',
|
|
disableSwitch: true,
|
|
respectPrefersColorScheme: false,
|
|
algolia: {
|
|
appId: '5U05JI5NE1',
|
|
apiKey: 'dc9c4491fcf9143ee34015f22d1dd9d6',
|
|
indexName: 'getunleash',
|
|
},
|
|
announcementBar: {
|
|
id: 'new-year-party',
|
|
content:
|
|
'Join our <a target="_blank" href="https://www.getunleash.io/new-year-community-party?ref=docs">New Year Unleash Community Party</a> on January 9!',
|
|
isCloseable: false,
|
|
},
|
|
navbar: {
|
|
title: 'Unleash',
|
|
logo: {
|
|
alt: 'Unleash logo',
|
|
src: 'img/logo.svg',
|
|
},
|
|
items: [
|
|
{
|
|
href: 'https://www.getunleash.io/plans',
|
|
label: 'Unleash Enterprise',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://github.com/Unleash/unleash',
|
|
position: 'right',
|
|
className: 'header-github-link',
|
|
'aria-label': 'Unleash GitHub repository',
|
|
},
|
|
],
|
|
},
|
|
prism: {
|
|
theme: require('prism-react-renderer/themes/oceanicNext'),
|
|
additionalLanguages: [
|
|
'csharp',
|
|
'dart',
|
|
'http',
|
|
'java',
|
|
'kotlin',
|
|
'php',
|
|
'ruby',
|
|
'rust',
|
|
'swift',
|
|
],
|
|
},
|
|
footer: {
|
|
style: 'dark',
|
|
links: [
|
|
{
|
|
title: 'Product',
|
|
items: [
|
|
{
|
|
label: 'Docs',
|
|
to: '/',
|
|
},
|
|
{
|
|
label: 'Unleash on GitHub',
|
|
href: 'https://github.com/Unleash/unleash',
|
|
},
|
|
{
|
|
label: 'Roadmap',
|
|
href: 'https://github.com/orgs/Unleash/projects/10',
|
|
},
|
|
{
|
|
label: 'Unleash help center',
|
|
href: 'https://getunleash.zendesk.com/hc/en-gb',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: 'Community',
|
|
items: [
|
|
{
|
|
label: 'GitHub discussions',
|
|
href: 'https://github.com/unleash/unleash/discussions/',
|
|
},
|
|
{
|
|
label: 'Slack',
|
|
href: 'https://slack.unleash.run/',
|
|
},
|
|
{
|
|
label: 'Stack Overflow',
|
|
href: 'https://stackoverflow.com/questions/tagged/unleash',
|
|
},
|
|
{
|
|
label: 'Twitter',
|
|
href: 'https://twitter.com/getunleash',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
copyright: `Copyright © ${new Date().getFullYear()} Unleash. Built with Docusaurus.`,
|
|
logo: {
|
|
src: 'img/logo.svg',
|
|
alt: 'Unleash logo',
|
|
},
|
|
},
|
|
image: 'img/logo.png',
|
|
},
|
|
presets: [
|
|
[
|
|
'@docusaurus/preset-classic',
|
|
{
|
|
docs: {
|
|
sidebarPath: require.resolve('./sidebars.js'),
|
|
// Please change this to your repo.
|
|
editUrl:
|
|
'https://github.com/Unleash/unleash/edit/main/website/',
|
|
routeBasePath: '/',
|
|
remarkPlugins: [
|
|
[
|
|
require('@docusaurus/remark-plugin-npm2yarn'),
|
|
{ sync: true },
|
|
],
|
|
],
|
|
docLayoutComponent: '@theme/DocPage',
|
|
docItemComponent: '@theme/ApiItem',
|
|
},
|
|
theme: {
|
|
customCss: require.resolve('./src/css/custom.css'),
|
|
},
|
|
googleAnalytics: {
|
|
trackingID: 'UA-134882379-1',
|
|
},
|
|
googleTagManager: {
|
|
containerId: 'GTM-KV5PRR2',
|
|
},
|
|
},
|
|
],
|
|
],
|
|
plugins: [
|
|
[
|
|
// heads up to anyone making redirects:
|
|
//
|
|
// remember that redirects only work in production and not in
|
|
// development, as mentioned in the docs
|
|
// https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-client-redirects/
|
|
'@docusaurus/plugin-client-redirects',
|
|
{
|
|
fromExtensions: ['html', 'htm'],
|
|
redirects: [
|
|
{
|
|
to: '/how-to/how-to-create-api-tokens',
|
|
from: [
|
|
'/user_guide/api-token',
|
|
'/deploy/user_guide/api-token',
|
|
],
|
|
},
|
|
{
|
|
from: '/advanced/audit_log',
|
|
to: '/reference/event-log',
|
|
},
|
|
{
|
|
from: '/api/open_api',
|
|
to: '/reference/api/unleash',
|
|
},
|
|
{
|
|
from: '/advanced/api_access',
|
|
to: '/how-to/how-to-use-the-admin-api',
|
|
},
|
|
{
|
|
from: '/advanced/archived_toggles',
|
|
to: '/reference/archived-toggles',
|
|
},
|
|
{
|
|
from: [
|
|
'/advanced/custom-activation-strategy',
|
|
'/advanced/custom_activation_strategy',
|
|
],
|
|
to: '/reference/custom-activation-strategies',
|
|
},
|
|
{
|
|
from: '/advanced/feature_toggle_types',
|
|
to: '/reference/feature-toggle-types',
|
|
},
|
|
{
|
|
from: [
|
|
'/toggle_variants',
|
|
'/advanced/feature_toggle_variants',
|
|
'/advanced/toggle_variants',
|
|
],
|
|
to: '/reference/feature-toggle-variants',
|
|
},
|
|
{
|
|
from: [
|
|
'/advanced/impression-data',
|
|
'/advanced/impression_data',
|
|
],
|
|
to: '/reference/impression-data',
|
|
},
|
|
{
|
|
from: '/advanced/stickiness',
|
|
to: '/reference/stickiness',
|
|
},
|
|
{
|
|
from: '/advanced/sso-google',
|
|
to: '/how-to/how-to-add-sso-google',
|
|
},
|
|
{
|
|
from: '/advanced/sso-open-id-connect',
|
|
to: '/how-to/how-to-add-sso-open-id-connect',
|
|
},
|
|
{
|
|
from: '/advanced/sso-saml-keycloak',
|
|
to: '/how-to/how-to-add-sso-saml-keycloak',
|
|
},
|
|
{
|
|
from: '/advanced/sso-saml',
|
|
to: '/how-to/how-to-add-sso-saml',
|
|
},
|
|
{
|
|
from: '/advanced/strategy_constraints',
|
|
to: '/reference/strategy-constraints',
|
|
},
|
|
{
|
|
from: '/advanced/tags',
|
|
to: '/reference/tags',
|
|
},
|
|
{
|
|
from: '/advanced/enterprise-authentication',
|
|
to: '/reference/sso',
|
|
},
|
|
{
|
|
from: ['/addons', '/reference/addons'],
|
|
to: '/reference/integrations',
|
|
},
|
|
{
|
|
from: ['/addons/datadog', '/reference/addons/datadog'],
|
|
to: '/reference/integrations/datadog',
|
|
},
|
|
{
|
|
from: ['/addons/slack', '/reference/addons/slack'],
|
|
to: '/reference/integrations/slack',
|
|
},
|
|
{
|
|
from: ['/addons/slack-app', '/reference/addons/slack-app'],
|
|
to: '/reference/integrations/slack-app',
|
|
},
|
|
{
|
|
from: ['/addons/teams', '/reference/addons/teams'],
|
|
to: '/reference/integrations/teams',
|
|
},
|
|
{
|
|
from: ['/addons/webhook', '/reference/addons/webhook'],
|
|
to: '/reference/integrations/webhook',
|
|
},
|
|
{
|
|
from: '/guides/feature_updates_to_slack',
|
|
to: '/how-to/how-to-send-feature-updates-to-slack-deprecated',
|
|
},
|
|
{
|
|
from: ['/integrations/integrations', '/integrations'],
|
|
to: '/reference/integrations',
|
|
},
|
|
{
|
|
from: '/integrations/jira_server_plugin_installation',
|
|
to: '/reference/integrations/jira-server-plugin-installation',
|
|
},
|
|
{
|
|
from: '/integrations/jira_server_plugin_usage',
|
|
to: '/reference/integrations/jira-server-plugin-usage',
|
|
},
|
|
{
|
|
from: [
|
|
'/sdks',
|
|
'/user_guide/client-sdk',
|
|
'/client-sdk',
|
|
'/user_guide/connect_sdk',
|
|
'/sdks/community',
|
|
],
|
|
to: '/reference/sdks',
|
|
},
|
|
{
|
|
from: '/sdks/go_sdk',
|
|
to: '/reference/sdks/go',
|
|
},
|
|
{
|
|
from: '/sdks/java_sdk',
|
|
to: '/reference/sdks/java',
|
|
},
|
|
{
|
|
from: '/sdks/node_sdk',
|
|
to: '/reference/sdks/node',
|
|
},
|
|
{
|
|
from: '/sdks/php_sdk',
|
|
to: '/reference/sdks/php',
|
|
},
|
|
{
|
|
from: '/sdks/python_sdk',
|
|
to: '/reference/sdks/python',
|
|
},
|
|
{
|
|
from: '/sdks/dot_net_sdk',
|
|
to: '/reference/sdks/dotnet',
|
|
},
|
|
{
|
|
from: '/sdks/ruby_sdk',
|
|
to: '/reference/sdks/ruby',
|
|
},
|
|
{
|
|
from: '/sdks/android_proxy_sdk',
|
|
to: '/reference/sdks/android-proxy',
|
|
},
|
|
{
|
|
from: '/sdks/proxy-ios',
|
|
to: '/reference/sdks/ios-proxy',
|
|
},
|
|
{
|
|
from: [
|
|
'/sdks/proxy-javascript',
|
|
'/sdks/javascript-browser',
|
|
],
|
|
to: '/reference/sdks/javascript-browser',
|
|
},
|
|
{
|
|
from: ['/sdks/proxy-react', '/sdks/react'],
|
|
to: '/reference/sdks/react',
|
|
},
|
|
{
|
|
from: '/sdks/proxy-vue',
|
|
to: '/reference/sdks/vue',
|
|
},
|
|
{
|
|
from: '/sdks/proxy-svelte',
|
|
to: '/reference/sdks/svelte',
|
|
},
|
|
{
|
|
from: [
|
|
'/user_guide/native_apps',
|
|
'/user_guide/proxy-api',
|
|
'/sdks/unleash-proxy',
|
|
],
|
|
to: '/reference/unleash-proxy',
|
|
},
|
|
{
|
|
to: '/how-to/how-to-create-feature-toggles',
|
|
from: '/user_guide/create_feature_toggle',
|
|
},
|
|
{
|
|
to: '/reference/activation-strategies',
|
|
from: [
|
|
'/user_guide/control_rollout',
|
|
'/user_guide/activation_strategy',
|
|
],
|
|
},
|
|
{
|
|
from: '/user_guide/environments',
|
|
to: '/reference/environments',
|
|
},
|
|
{
|
|
from: '/user_guide/projects',
|
|
to: '/reference/projects',
|
|
},
|
|
{
|
|
from: [
|
|
'/user_guide/rbac',
|
|
'/advanced/groups',
|
|
],
|
|
to: '/reference/rbac',
|
|
},
|
|
{
|
|
from: '/user_guide/technical_debt',
|
|
to: '/reference/technical-debt',
|
|
},
|
|
{
|
|
from: '/user_guide/unleash_context',
|
|
to: '/reference/unleash-context',
|
|
},
|
|
{
|
|
from: '/user_guide/user-management',
|
|
to: '/how-to/how-to-add-users-to-unleash',
|
|
},
|
|
{
|
|
from: '/user_guide/v4-whats-new',
|
|
to: '/reference/whats-new-v4',
|
|
},
|
|
{
|
|
from: [
|
|
'/user_guide/important-concepts',
|
|
'/tutorials/important-concepts',
|
|
'/reference/concepts/',
|
|
],
|
|
to: '/reference',
|
|
},
|
|
{
|
|
from: [
|
|
'/user_guide/quickstart',
|
|
'/docs/getting_started',
|
|
'/tutorials/quickstart',
|
|
'/tutorials/getting-started',
|
|
],
|
|
to: '/quickstart',
|
|
},
|
|
{
|
|
from: '/api/basic-auth',
|
|
to: '/reference/api/legacy/unleash/basic-auth',
|
|
},
|
|
{
|
|
from: '/api',
|
|
to: '/reference/api/legacy/unleash',
|
|
},
|
|
{
|
|
from: '/api/admin/addons',
|
|
to: '/reference/api/legacy/unleash/admin/addons',
|
|
},
|
|
{
|
|
from: '/api/admin/context',
|
|
to: '/reference/api/legacy/unleash/admin/context',
|
|
},
|
|
{
|
|
from: '/api/admin/events',
|
|
to: '/reference/api/legacy/unleash/admin/events',
|
|
},
|
|
{
|
|
from: '/api/admin/feature-toggles-v2',
|
|
to: '/reference/api/legacy/unleash/admin/features-v2',
|
|
},
|
|
{
|
|
from: '/api/admin/feature-types',
|
|
to: '/reference/api/legacy/unleash/admin/feature-types',
|
|
},
|
|
{
|
|
from: '/api/admin/features',
|
|
to: '/reference/api/legacy/unleash/admin/features',
|
|
},
|
|
{
|
|
from: '/api/admin/features-archive',
|
|
to: '/reference/api/legacy/unleash/admin/archive',
|
|
},
|
|
{
|
|
from: '/api/admin/metrics',
|
|
to: '/reference/api/legacy/unleash/admin/metrics',
|
|
},
|
|
{
|
|
from: '/api/admin/projects',
|
|
to: '/reference/api/legacy/unleash/admin/projects',
|
|
},
|
|
{
|
|
from: '/api/admin/segments',
|
|
to: '/reference/api/legacy/unleash/admin/segments',
|
|
},
|
|
{
|
|
from: '/api/admin/state',
|
|
to: '/reference/api/legacy/unleash/admin/state',
|
|
},
|
|
{
|
|
from: '/api/admin/strategies',
|
|
to: '/reference/api/legacy/unleash/admin/strategies',
|
|
},
|
|
{
|
|
from: '/api/admin/tags',
|
|
to: '/reference/api/legacy/unleash/admin/tags',
|
|
},
|
|
{
|
|
from: '/api/admin/user-admin',
|
|
to: '/reference/api/legacy/unleash/admin/user-admin',
|
|
},
|
|
{
|
|
from: '/api/client/features',
|
|
to: '/reference/api/legacy/unleash/client/features',
|
|
},
|
|
{
|
|
from: '/api/client/metrics',
|
|
to: '/reference/api/legacy/unleash/client/metrics',
|
|
},
|
|
{
|
|
from: '/api/client/register',
|
|
to: '/reference/api/legacy/unleash/client/register',
|
|
},
|
|
{
|
|
from: '/api/internal/internal',
|
|
to: '/reference/api/legacy/unleash/internal/prometheus',
|
|
},
|
|
{
|
|
from: '/api/internal/health',
|
|
to: '/reference/api/legacy/unleash/internal/health',
|
|
},
|
|
{
|
|
from: '/help',
|
|
to: '/',
|
|
},
|
|
{
|
|
from: [
|
|
'/topics/feature-flags/tutorials',
|
|
'/tutorials',
|
|
],
|
|
to: '/feature-flag-tutorials',
|
|
},
|
|
{
|
|
from: '/topics/feature-flags/tutorials/react/implementing-feature-flags',
|
|
to: '/feature-flag-tutorials/react',
|
|
},
|
|
{
|
|
from: '/topics/feature-flags/tutorials/flutter/a-b-testing',
|
|
to: '/feature-flag-tutorials/flutter/a-b-testing',
|
|
},
|
|
{
|
|
from: '/topics/feature-flags/tutorials/nextjs/implementing-feature-flags',
|
|
to: '/feature-flag-tutorials/nextjs/implementing-feature-flags',
|
|
},
|
|
{
|
|
from: [
|
|
'/tutorials/academy',
|
|
'/unleash-academy',
|
|
],
|
|
to: '/unleash-academy/introduction',
|
|
},
|
|
{
|
|
from: '/tutorials/academy-foundational',
|
|
to: '/unleash-academy/foundational',
|
|
},
|
|
{
|
|
from: '/tutorials/academy-advanced-for-devs',
|
|
to: '/unleash-academy/advanced-for-devs',
|
|
},
|
|
{
|
|
from: '/tutorials/academy-managing-unleash-for-devops',
|
|
to: '/unleash-academy/managing-unleash-for-devops',
|
|
},
|
|
{
|
|
from: '/developer-guide',
|
|
to: '/contributing'
|
|
},
|
|
{
|
|
from: [
|
|
'/tutorials/unleash-overview',
|
|
'/user_guide/unleash_overview',
|
|
],
|
|
to: '/understanding-unleash/unleash-overview',
|
|
},
|
|
{
|
|
from: [
|
|
'/tutorials/managing-constraints',
|
|
'/topics/managing-constraints',
|
|
],
|
|
to: '/understanding-unleash/managing-constraints',
|
|
},
|
|
{
|
|
from: [
|
|
'/tutorials/the-anatomy-of-unleash',
|
|
'/topics/the-anatomy-of-unleash',
|
|
],
|
|
to: '/understanding-unleash/the-anatomy-of-unleash',
|
|
},
|
|
{
|
|
from: [
|
|
'/tutorials/proxy-hosting',
|
|
'/topics/proxy-hosting',
|
|
],
|
|
to: '/understanding-unleash/proxy-hosting',
|
|
},
|
|
{
|
|
from: [
|
|
'/tutorials/data-collection',
|
|
'/topics/data-collection',
|
|
],
|
|
to: '/understanding-unleash/data-collection',
|
|
},
|
|
|
|
{
|
|
from: '/how-to/how-to-troubleshoot-flag-exposure',
|
|
to: '/using-unleash/troubleshooting/flag-exposure',
|
|
},
|
|
{
|
|
from: '/how-to/how-to-troubleshoot-flag-not-returned',
|
|
to: '/using-unleash/troubleshooting/flag-not-returned',
|
|
},
|
|
{
|
|
from: '/how-to/how-to-troubleshoot-cors',
|
|
to: '/using-unleash/troubleshooting/cors',
|
|
},
|
|
{
|
|
from: '/how-to/how-to-troubleshoot-feature-not-available',
|
|
to: '/using-unleash/troubleshooting/feature-not-available',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy',
|
|
'/deploy',
|
|
],
|
|
to: '/using-unleash/deploy',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/getting-started',
|
|
'/deploy/getting_started',
|
|
],
|
|
to: '/using-unleash/deploy/getting-started',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/configuring-unleash',
|
|
'/deploy/configuring_unleash',
|
|
],
|
|
to: '/using-unleash/deploy/configuring-unleash',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/configuring-unleash-v3',
|
|
'/deploy/configuring_unleash_v3',
|
|
],
|
|
to: '/using-unleash/deploy/configuring-unleash-v3',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/database-setup',
|
|
'/deploy/database-setup',
|
|
],
|
|
to: '/using-unleash/deploy/database-setup',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/database-backup',
|
|
'/deploy/database-backup',
|
|
],
|
|
to: '/using-unleash/deploy/database-backup',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/email-service',
|
|
'/deploy/email',
|
|
],
|
|
to: '/using-unleash/deploy/email-service',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/google-auth-hook',
|
|
'/deploy/google_auth',
|
|
],
|
|
to: '/using-unleash/deploy/google-auth-hook',
|
|
},
|
|
{
|
|
from: [
|
|
'/deploy/migration_guide',
|
|
'/reference/deploy/migration-guide',
|
|
],
|
|
to: '/using-unleash/deploy/upgrading-unleash',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/securing-unleash',
|
|
'/deploy/securing_unleash',
|
|
],
|
|
to: '/using-unleash/deploy/securing-unleash',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/import-export',
|
|
'/deploy/import_export',
|
|
],
|
|
to: '/how-to/how-to-import-export',
|
|
},
|
|
{
|
|
from: [
|
|
'/reference/deploy/environment-import-export',
|
|
'/deploy/environment-import-export',
|
|
],
|
|
to: '/how-to/how-to-environment-import-export',
|
|
},
|
|
|
|
|
|
].map(addDocsRoutePrefix), // add /docs prefixes
|
|
createRedirects: function (toPath) {
|
|
if (
|
|
toPath.indexOf('/docs/') === -1 &&
|
|
toPath.indexOf('index.html') === -1
|
|
) {
|
|
return `/docs/${toPath}`;
|
|
}
|
|
},
|
|
},
|
|
],
|
|
[
|
|
'docusaurus-plugin-openapi-docs',
|
|
{
|
|
id: 'api-operations',
|
|
docsPluginId: 'classic',
|
|
config: {
|
|
server: {
|
|
specPath:
|
|
process.env.OPENAPI_SOURCE === 'localhost'
|
|
? 'http://localhost:4242/docs/openapi.json'
|
|
: 'https://us.app.unleash-hosted.com/ushosted/docs/openapi.json',
|
|
outputDir: 'docs/reference/api/unleash',
|
|
sidebarOptions: {
|
|
groupPathsBy: 'tag',
|
|
categoryLinkSource: 'tag',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
[
|
|
'docusaurus-plugin-remote-content',
|
|
{
|
|
// more info at https://github.com/rdilweb/docusaurus-plugin-remote-content#options
|
|
name: 'content-sdks',
|
|
sourceBaseUrl: 'https://raw.githubusercontent.com/Unleash/', // gets prepended to all of the documents when fetching
|
|
outDir: 'docs/generated', // the base directory to output to.
|
|
documents: sdks.urls, // the file names to download
|
|
modifyContent: sdks.modifyContent,
|
|
noRuntimeDownloads: true,
|
|
},
|
|
],
|
|
[
|
|
'docusaurus-plugin-remote-content',
|
|
{
|
|
// more info at https://github.com/rdilweb/docusaurus-plugin-remote-content#options
|
|
name: 'content-external',
|
|
sourceBaseUrl: 'https://raw.githubusercontent.com/Unleash/', // gets prepended to all of the documents when fetching
|
|
outDir: 'docs/generated/', // the base directory to output to.
|
|
documents: edgeAndProxy.urls, // the file names to download
|
|
modifyContent: edgeAndProxy.modifyContent,
|
|
noRuntimeDownloads: true,
|
|
},
|
|
],
|
|
],
|
|
themes: [
|
|
'docusaurus-theme-openapi-docs', // Allows use of @theme/ApiItem and other components
|
|
'@docusaurus/theme-mermaid',
|
|
],
|
|
scripts: [
|
|
{
|
|
src: 'https://widget.kapa.ai/kapa-widget.bundle.js',
|
|
'data-website-id': '1d187510-1726-4011-b0f7-62742ae064ee',
|
|
'data-project-name': 'Unleash',
|
|
'data-project-color': '#1A4049',
|
|
'data-project-logo':
|
|
'https://cdn.getunleash.io/uploads/2022/05/logo.png',
|
|
async: true,
|
|
},
|
|
],
|
|
clientModules: [
|
|
require.resolve('./global.js'),
|
|
],
|
|
};
|