website/docusaurus.config.js (360 lines of code) (raw):

/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ // start-import-example const {fbContent, fbInternalOnly} = require('internaldocs-fb-helpers'); // end-import-example const repoUrl = 'https://github.com/facebook/flipper'; const siteUrl = fbContent({ internal: 'https://flipper.thefacebook.com/', external: 'https://fbflipper.com/', }); const siteConfig = { title: fbContent({ internal: 'Flipper @FB', external: 'Flipper', }), tagline: 'Extensible mobile app debugging', url: siteUrl, baseUrl: '/', trailingSlash: true, projectName: 'flipper', // TODO: T69061026 enable once sandy docs are complete: external_domain: 'fbflipper.com', themeConfig: { announcementBar: { id: 'support_ukraine', content: 'Support Ukraine πŸ‡ΊπŸ‡¦ <a target="_blank" rel="noopener noreferrer" href="https://opensource.fb.com/support-ukraine"> Help Provide Humanitarian Aid to Ukraine</a>.', backgroundColor: '#20232a', textColor: '#fff', isCloseable: false, }, navbar: { title: fbContent({ internal: 'Flipper @FB', external: 'Flipper', }), logo: { alt: 'Flipper Logo', src: 'img/icon.png', }, items: [ { to: 'docs/features/index', label: 'Features', position: 'right', }, { to: 'docs/getting-started/index', label: 'Setup', position: 'right', }, { to: 'docs/tutorial/intro', label: 'Creating Plugins', position: 'right', }, { to: 'docs/internals/index', label: 'Under the Hood', position: 'right', }, {to: 'blog', label: 'Blog', position: 'right'}, { href: repoUrl, position: 'right', 'aria-label': 'GitHub repository', className: 'navbar-github-link', }, ], }, colorMode: { // Nothing against dark mode, but our current CSS doesn't have high contrast // so it needs some work before being enabled. defaultMode: 'light', disableSwitch: true, }, footer: { style: 'dark', links: [ { title: 'Learn', items: [ { label: 'Getting Started', to: 'docs/getting-started/index', }, { label: 'Plugin Creation Tutorial', to: 'docs/tutorial/intro', }, ], }, { title: 'Plugins', items: [ { label: 'Core Plugins', to: 'docs/features/index', }, { label: 'Community Plugins', href: 'https://www.npmjs.com/search?q=keywords:flipper-plugin', }, ], }, { title: 'Legal', // Please do not remove the privacy and terms, it's a legal requirement. items: [ { label: 'Privacy', href: 'https://opensource.facebook.com/legal/privacy/', }, { label: 'Terms', href: 'https://opensource.facebook.com/legal/terms/', }, ], }, { title: 'More', items: [ { label: 'Twitter', href: 'https://twitter.com/flipper_fb', }, { label: 'GitHub', href: repoUrl, }, ], }, ], copyright: 'Copyright © ' + new Date().getFullYear() + ' Meta Platforms, Inc', logo: { alt: 'Flipper Mascot', src: 'img/mascot.png', }, }, algolia: fbContent({ internal: undefined, external: { apiKey: '2df980e7ffc95c19552790f7cad32666', indexName: 'fbflipper', algoliaOptions: { hitsPerPage: 5, }, }, }), prism: { additionalLanguages: [ 'groovy', 'java', 'kotlin', 'ruby', 'swift', 'objectivec', ], }, }, favicon: 'img/icon.png', scripts: [ 'https://buttons.github.io/buttons.js', 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js', `${siteUrl}js/code-blocks-buttons.js`, `${siteUrl}js/google-analytics.js`, ], stylesheets: [], // start_config_example presets: [ [ require.resolve('docusaurus-plugin-internaldocs-fb/docusaurus-preset'), { docs: { path: '../docs', sidebarPath: require.resolve('./sidebars.js'), editUrl: fbContent({ internal: 'https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/sonar/website/', external: 'https://github.com/facebook/flipper/blob/main/website', }), }, theme: { customCss: require.resolve('./static/css/custom.css'), }, staticDocsProject: 'flipper', trackingFile: 'xplat/staticdocs/WATCHED_FILES', 'remark-code-snippets': { baseDir: '..', }, enableEditor: true, }, ], ], customFields: { fbRepoName: 'fbsource', ossRepoPath: 'xplat/sonar', }, // end_config_example plugins: [ './src/plugins/support-symlinks', [ require.resolve('@docusaurus/plugin-content-pages'), { id: 'embedded-pages', path: './src/embedded-pages/', mdxPageComponent: '@theme/EmbeddedMDXPage', }, ], [ '@docusaurus/plugin-client-redirects', { redirects: [ { to: '/docs/troubleshooting', from: ['/docs/fb/troubleshooting'], }, { to: '/docs/tutorial/intro', from: ['/docs/extending'], }, { to: '/docs/extending/desktop-plugin-structure', from: ['/docs/extending/js-setup'], }, { to: '/docs/extending/create-plugin', from: [ '/docs/extending/send-data', '/docs/fb/android-plugin-development-Android-interacting-0', ], }, { to: '/docs/tutorial/intro', from: ['/docs/fb/create-new-plugin'], }, { to: '/docs/extending/dev-setup', from: ['/docs/fb/developmentworkflow'], }, { to: '/docs/getting-started/index', from: ['/docs/fb/Help-Updating-Flipper'], }, { to: '/docs/extending/create-plugin', from: [ '/docs/fb/ios-plugin-development-sending-data-to-an-ios-plugin-0', ], }, { to: '/docs/extending/dev-setup', from: ['/docs/fb/TypeScript'], }, { to: '/docs/extending/flipper-plugin', from: ['/docs/fb/using-gatekeepers'], }, { to: '/docs/getting-started/index', from: ['/docs/fb/using-flipper-at-facebook'], }, { to: '/docs/getting-started/index', from: ['/docs/fb/index'], }, { from: ['/docs/features/network-plugin'], to: '/docs/features/plugins/network', }, { from: ['/docs/features/logs-plugin'], to: '/docs/features/plugins/device-logs', }, { from: ['/docs/features/layout-plugin'], to: '/docs/features/plugins/inspector', }, { from: ['/docs/features/navigation-plugin'], to: '/docs/features/plugins/navigation', }, { from: ['/docs/features/databases-plugin'], to: '/docs/features/plugins/databases', }, { from: ['/docs/features/images-plugin'], to: '/docs/features/plugins/fresco', }, { from: ['/docs/features/sandbox-plugin'], to: '/docs/features/plugins/sandbox', }, { from: ['/docs/features/shared-preferences-plugin'], to: '/docs/features/plugins/preferences', }, { from: ['/docs/features/leak-canary-plugin'], to: '/docs/features/plugins/leak-canary', }, { from: ['/docs/features/crash-reporter-plugin'], to: '/docs/features/plugins/crash-reporter', }, { from: ['/docs/setup/network-plugin'], to: '/docs/setup/plugins/network', }, { from: ['/docs/setup/layout-plugin'], to: '/docs/setup/plugins/inspector', }, { from: ['/docs/setup/navigation-plugin'], to: '/docs/setup/plugins/navigation', }, { from: ['/docs/setup/databases-plugin'], to: '/docs/setup/plugins/databases', }, { from: ['/docs/setup/images-plugin'], to: '/docs/setup/plugins/fresco', }, { from: ['/docs/setup/sandbox-plugin'], to: '/docs/setup/plugins/sandbox', }, { from: ['/docs/setup/shared-preferences-plugin'], to: '/docs/setup/plugins/preferences', }, { from: ['/docs/setup/leak-canary-plugin'], to: '/docs/setup/plugins/leak-canary', }, { from: ['/docs/setup/leak-canary-2-plugin'], to: '/docs/setup/plugins/leak-canary', }, { from: ['/docs/setup/crash-reporter-plugin'], to: '/docs/setup/plugins/crash-reporter', }, ...fbInternalOnly([ { from: ['/docs/fb/Memory-Tools'], to: '/docs/features/plugins/memory-tools', }, { from: ['/docs/fb/supporting-feed-inspector'], to: '/docs/features/plugins/feed-inspector', }, { from: ['/docs/fb/sections'], to: '/docs/features/plugins/sections', }, {from: ['/docs/fb/Trace'], to: '/docs/features/plugins/tracery'}, { from: ['/docs/fb/mobile-config'], to: '/docs/features/plugins/mobile-config', }, ]), ], }, ], ], }; module.exports = siteConfig;