mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-25 07:29:38 -05:00
265 lines
10 KiB
JavaScript
265 lines
10 KiB
JavaScript
// @ts-check
|
||
// Note: type annotations allow type checking and IDEs autocompletion
|
||
|
||
const lightCodeTheme = require('prism-react-renderer/themes/github');
|
||
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
|
||
|
||
/** @type {import('@docusaurus/types').Config} */
|
||
async function createConfig() {
|
||
const mdxMermaid = await import('mdx-mermaid')
|
||
|
||
return {
|
||
title: 'Constellation',
|
||
tagline: 'Constellation: The world\'s most secure Kubernetes',
|
||
url: 'https://constellation-docs.netlify.app',
|
||
baseUrl: '/constellation/',
|
||
onBrokenLinks: 'throw',
|
||
onBrokenMarkdownLinks: 'warn',
|
||
favicon: 'img/favicon.ico',
|
||
|
||
// GitHub pages deployment config.
|
||
// If you aren't using GitHub pages, you don't need these.
|
||
organizationName: 'Edgeless Systems', // Usually your GitHub org/user name.
|
||
projectName: 'Constellation', // Usually your repo name.
|
||
|
||
// plausible
|
||
scripts: [{ src: 'https://plausible.io/js/plausible.js', async: true, defer: true, 'data-domain': 'docs.edgeless.systems' }],
|
||
|
||
// 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: {
|
||
remarkPlugins: [[mdxMermaid.default, { mermaid: {
|
||
theme: 'base',
|
||
themeVariables: {
|
||
// general
|
||
'fontFamily': '"Open Sans", sans-serif',
|
||
'primaryColor': '#90FF99', // edgeless green
|
||
'primaryTextColor': '#000000',
|
||
'secondaryColor': '#A5A5A5', // edgeless grey
|
||
'secondaryTextColor': '#000000',
|
||
'tertiaryColor': '#E7E6E6', // edgeless light grey
|
||
'tertiaryTextColor': '#000000',
|
||
// flowchart
|
||
'clusterBorder': '#A5A5A5',
|
||
'clusterBkg': '#ffffff',
|
||
'edgeLabelBackground': '#ffffff',
|
||
// sequence diagram
|
||
'activationBorderColor': '#000000',
|
||
'actorBorder': '#A5A5A5',
|
||
'actorFontFamily': '"Open Sans", sans-serif', // not released by mermaid yet
|
||
'noteBkgColor': '#8B04DD', // edgeless purple
|
||
'noteTextColor': '#ffffff',
|
||
},
|
||
startOnLoad: true
|
||
}}]],
|
||
sidebarPath: require.resolve('./sidebars.js'),
|
||
// sidebarPath: 'sidebars.js',
|
||
// Please change this to your repo.
|
||
// Remove this to remove the "edit this page" links.
|
||
editUrl: 'https://github.com/edgelesssys/constellation/edit/main/docs',
|
||
routeBasePath: "/"
|
||
},
|
||
blog: false,
|
||
theme: {
|
||
customCss: require.resolve('./src/css/custom.css'),
|
||
},
|
||
}),
|
||
],
|
||
],
|
||
|
||
themeConfig:
|
||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||
({
|
||
navbar: {
|
||
hideOnScroll: false,
|
||
logo: {
|
||
alt: 'Constellation Logo',
|
||
src: 'img/logos/constellation_oneline.svg',
|
||
},
|
||
items: [
|
||
// left
|
||
// Running docs only mode no need for a link here
|
||
// {
|
||
// type: 'doc',
|
||
// docId: 'intro',
|
||
// position: 'left',
|
||
// label: 'Docs',
|
||
// },
|
||
// right
|
||
{
|
||
type: 'docsVersionDropdown',
|
||
position: 'right',
|
||
},
|
||
{
|
||
href: 'https://github.com/edgelesssys/constellation',
|
||
position: 'right',
|
||
className: 'header-github-link',
|
||
},
|
||
],
|
||
},
|
||
colorMode: {
|
||
defaultMode: 'light',
|
||
disableSwitch: true,
|
||
respectPrefersColorScheme: false,
|
||
},
|
||
announcementBar: {
|
||
content:
|
||
'If you like Constellation, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/edgelesssys/constellation">GitHub</a> ⭐️',
|
||
backgroundColor: '#E7E6E6'
|
||
},
|
||
footer: {
|
||
style: 'dark',
|
||
links: [
|
||
{
|
||
title: 'Learn',
|
||
items: [
|
||
{
|
||
label: 'Confidential Kubernetes',
|
||
to: '/overview/confidential-kubernetes',
|
||
},
|
||
{
|
||
label: 'Install',
|
||
to: '/getting-started/install',
|
||
},
|
||
{
|
||
label: 'First steps',
|
||
to: '/getting-started/first-steps',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
title: 'Community',
|
||
items: [
|
||
{
|
||
label: 'GitHub',
|
||
href: 'https://github.com/edgelesssys/constellation',
|
||
},
|
||
{
|
||
label: 'Discord',
|
||
href: 'https://discord.gg/rH8QTH56JN',
|
||
},
|
||
{
|
||
label: 'Newsletter',
|
||
href: 'https://www.edgeless.systems/#newsletter-signup'
|
||
},
|
||
],
|
||
},
|
||
{
|
||
title: 'Social',
|
||
items: [
|
||
{
|
||
label: 'Blog',
|
||
to: 'https://blog.edgeless.systems/',
|
||
},
|
||
{
|
||
label: 'Twitter',
|
||
href: 'https://twitter.com/EdgelessSystems',
|
||
},
|
||
{
|
||
label: 'LinkedIn',
|
||
href: 'https://www.linkedin.com/company/edgeless-systems/',
|
||
},
|
||
|
||
{
|
||
label: 'Youtube',
|
||
href: 'https://www.youtube.com/channel/UCOOInN0sCv6icUesisYIDeA',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
copyright: `Copyright © ${new Date().getFullYear()} Edgeless Systems`,
|
||
},
|
||
prism: {
|
||
theme: lightCodeTheme,
|
||
darkTheme: darkCodeTheme,
|
||
additionalLanguages: ['shell-session'],
|
||
},
|
||
}),
|
||
|
||
plugins: [
|
||
[
|
||
require.resolve("@cmfcmf/docusaurus-search-local"),
|
||
{
|
||
// whether to index docs pages
|
||
indexDocs: true,
|
||
|
||
// Whether to also index the titles of the parent categories in the sidebar of a doc page.
|
||
// 0 disables this feature.
|
||
// 1 indexes the direct parent category in the sidebar of a doc page
|
||
// 2 indexes up to two nested parent categories of a doc page
|
||
// 3...
|
||
//
|
||
// Do _not_ use Infinity, the value must be a JSON-serializable integer.
|
||
indexDocSidebarParentCategories: 0,
|
||
|
||
// whether to index blog pages
|
||
indexBlog: false,
|
||
|
||
// whether to index static pages
|
||
// /404.html is never indexed
|
||
indexPages: false,
|
||
|
||
// language of your documentation, see next section
|
||
language: "en",
|
||
|
||
// setting this to "none" will prevent the default CSS to be included. The default CSS
|
||
// comes from autocomplete-theme-classic, which you can read more about here:
|
||
// https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-theme-classic/
|
||
// When you want to overwrite CSS variables defined by the default theme, make sure to suffix your
|
||
// overwrites with `!important`, because they might otherwise not be applied as expected. See the
|
||
// following comment for more information: https://github.com/cmfcmf/docusaurus-search-local/issues/107#issuecomment-1119831938.
|
||
style: undefined,
|
||
|
||
// The maximum number of search results shown to the user. This does _not_ affect performance of
|
||
// searches, but simply does not display additional search results that have been found.
|
||
maxSearchResults: 8,
|
||
|
||
// lunr.js-specific settings
|
||
lunr: {
|
||
// When indexing your documents, their content is split into "tokens".
|
||
// Text entered into the search box is also tokenized.
|
||
// This setting configures the separator used to determine where to split the text into tokens.
|
||
// By default, it splits the text at whitespace and dashes.
|
||
//
|
||
// Note: Does not work for "ja" and "th" languages, since these use a different tokenizer.
|
||
tokenizerSeparator: /[\s\-]+/,
|
||
// https://lunrjs.com/guides/customising.html#similarity-tuning
|
||
//
|
||
// This parameter controls the importance given to the length of a document and its fields. This
|
||
// value must be between 0 and 1, and by default it has a value of 0.75. Reducing this value
|
||
// reduces the effect of different length documents on a term’s importance to that document.
|
||
b: 0.75,
|
||
// This controls how quickly the boost given by a common word reaches saturation. Increasing it
|
||
// will slow down the rate of saturation and lower values result in quicker saturation. The
|
||
// default value is 1.2. If the collection of documents being indexed have high occurrences
|
||
// of words that are not covered by a stop word filter, these words can quickly dominate any
|
||
// similarity calculation. In these cases, this value can be reduced to get more balanced results.
|
||
k1: 1.2,
|
||
// By default, we rank pages where the search term appears in the title higher than pages where
|
||
// the search term appears in just the text. This is done by "boosting" title matches with a
|
||
// higher value than content matches. The concrete boosting behavior can be controlled by changing
|
||
// the following settings.
|
||
titleBoost: 5,
|
||
contentBoost: 1,
|
||
tagsBoost: 3,
|
||
parentCategoriesBoost: 2, // Only used when indexDocSidebarParentCategories > 0
|
||
}
|
||
},
|
||
]
|
||
]
|
||
}
|
||
};
|
||
|
||
module.exports = createConfig;
|