From 052656f3254ac6eed484d740f80045fcebc66a2a Mon Sep 17 00:00:00 2001 From: Michael David Kuckuk <8076094+LBBO@users.noreply.github.com> Date: Thu, 27 Jul 2023 16:33:50 +0200 Subject: [PATCH] fix: improve lighthouse score (#1478) --- docusaurus.config.js | 7 +- src/config/hydra/config.js | 53 ----- src/config/hydra/docusaurus.config.js | 208 ------------------ src/config/hydra/sidebar.json | 102 --------- src/config/hydra/versions.json | 1 - src/config/keto/config.js | 29 --- src/config/keto/docusaurus.config.js | 208 ------------------ src/config/keto/sidebar.json | 34 --- src/config/keto/versions.json | 1 - src/config/kratos/config.js | 61 ----- src/config/kratos/docusaurus.config.js | 208 ------------------ src/config/kratos/sidebar.json | 140 ------------ src/config/kratos/versions.json | 1 - src/config/oathkeeper/config.js | 29 --- src/config/oathkeeper/docusaurus.config.js | 208 ------------------ src/css/theme.css | 14 ++ src/static/img/logos/HOW-TO-UPDATE.md | 12 + .../logo-docs-2023-02-15.svg} | 0 .../logo-docs-dark-2023-02-15.svg} | 0 .../logo-ory-white-2022-11-04.svg} | 0 vercel.json | 11 + 21 files changed, 41 insertions(+), 1286 deletions(-) delete mode 100644 src/config/hydra/config.js delete mode 100644 src/config/hydra/docusaurus.config.js delete mode 100644 src/config/hydra/sidebar.json delete mode 100644 src/config/hydra/versions.json delete mode 100644 src/config/keto/config.js delete mode 100644 src/config/keto/docusaurus.config.js delete mode 100644 src/config/keto/sidebar.json delete mode 100644 src/config/keto/versions.json delete mode 100644 src/config/kratos/config.js delete mode 100644 src/config/kratos/docusaurus.config.js delete mode 100644 src/config/kratos/sidebar.json delete mode 100644 src/config/kratos/versions.json delete mode 100644 src/config/oathkeeper/config.js delete mode 100644 src/config/oathkeeper/docusaurus.config.js create mode 100644 src/static/img/logos/HOW-TO-UPDATE.md rename src/static/img/{logo-docs.svg => logos/logo-docs-2023-02-15.svg} (100%) rename src/static/img/{logo-docs-dark.svg => logos/logo-docs-dark-2023-02-15.svg} (100%) rename src/static/img/{logo-ory-white.svg => logos/logo-ory-white-2022-11-04.svg} (100%) diff --git a/docusaurus.config.js b/docusaurus.config.js index ef8740c0a..07e8ae6b7 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -78,8 +78,8 @@ const config = { hideOnScroll: false, logo: { alt: "Ory", - src: `/docs/img/logo-docs.svg`, - srcDark: `/docs/img/logo-docs-dark.svg`, + src: `/docs/img/logos/logo-docs-2023-02-15.svg`, + srcDark: `/docs/img/logos/logo-docs-dark-2023-02-15.svg`, href: `https://www.ory.sh`, width: 63, height: 32, @@ -174,9 +174,10 @@ const config = { ], logo: { alt: "Ory logo in white", - src: "/docs/img/logo-ory-white.svg", + src: "/docs/img/logos/logo-ory-white-2022-11-04.svg", href: "https://www.ory.sh/", height: 80, + width: 130.7, }, }, }, diff --git a/src/config/hydra/config.js b/src/config/hydra/config.js deleted file mode 100644 index 10e5aed85..000000000 --- a/src/config/hydra/config.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -module.exports = { - projectName: "Ory Hydra", - projectSlug: "hydra", - newsletter: - "https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53&group[17097][8]=1", - projectTagLine: - "A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.", - updateTags: [ - { - image: "oryd/hydra", - files: ["docs/docs/install.md", "docs/docs/configure-deploy.mdx"], - }, - { - // replace the docker tags - image: "oryd/hydra", - files: ["docs/docs/install.md"], - }, - { - // replace the bash curl tag - replacer: ({ content, next }) => - content.replace(/v[0-9].[0-9].[0-9][0-9a-zA-Z.+_-]+/gi, `${next}`), - image: "oryd/hydra", - files: ["docs/docs/install.md"], - }, - { - replacer: ({ content, next }) => - content.replace( - /oryd\/hydra:v[0-9a-zA-Z.+_-]+/gi, - `oryd/hydra:${next}-sqlite`, - ), - files: ["quickstart.yml"], - }, - { - image: "oryd/hydra-login-consent-node", - files: ["quickstart.yml"], - }, - { - image: "oryd/hydra", - files: [ - "quickstart-cockroach.yml", - "quickstart-mysql.yml", - "quickstart-postgres.yml", - ], - }, - ], - updateConfig: { - src: "../spec/config.json", - dst: "./docs/reference/configuration.md", - }, -} diff --git a/src/config/hydra/docusaurus.config.js b/src/config/hydra/docusaurus.config.js deleted file mode 100644 index 8c36eb56a..000000000 --- a/src/config/hydra/docusaurus.config.js +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -const config = require("./contrib/config.js") -const fs = require("fs") - -const githubRepoName = - config.projectSlug === "ecosystem" ? "docs" : config.projectSlug - -const baseUrl = config.baseUrl ? config.baseUrl : `/${config.projectSlug}/docs/` - -let links = [ - { - to: "https://www.ory.sh/", - label: `Home`, - position: "left", - }, - { - href: `https://github.com/ory/${githubRepoName}/discussions`, - label: "Discussions", - position: "right", - }, - { - href: "https://www.ory.sh/chat", - label: "Slack", - position: "right", - }, - { - href: `https://github.com/ory/${githubRepoName}`, - label: "GitHub", - position: "right", - }, -] - -const customCss = [require.resolve("./contrib/theme.css")] - -if (fs.existsSync("./src/css/theme.css")) { - customCss.push(require.resolve("./src/css/theme.css")) -} - -const githubPrismTheme = require("prism-react-renderer/themes/github") - -const prismThemeLight = { - ...githubPrismTheme, - styles: [ - ...githubPrismTheme.styles, - { - languages: ["keto-relation-tuples"], - types: ["namespace"], - style: { - color: "#666", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["object"], - style: { - color: "#939", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["relation"], - style: { - color: "#e80", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["delimiter"], - style: { - color: "#555", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["comment"], - style: { - color: "#999", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["subject"], - style: { - color: "#903", - }, - }, - ], -} - -module.exports = { - title: config.projectName, - tagline: config.projectTagLine, - url: `https://www.ory.sh/`, - baseUrl, - favicon: "img/favico.png", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - organizationName: "ory", // Usually your GitHub org/user name. - projectName: config.projectSlug, // Usually your repo name. - themeConfig: { - prism: { - theme: prismThemeLight, - darkTheme: require("prism-react-renderer/themes/dracula"), - additionalLanguages: ["json5", "pug", "shell-session"], - }, - announcementBar: { - id: "supportus", - content: - config.projectSlug === "docs" - ? `Sign up for important security announcements and if you like the ${config.projectName} give us some ⭐️ on GitHub!` - : `Sign up for important security announcements and if you like ${config.projectName} give it a ⭐️ on GitHub!`, - }, - algolia: { - appId: "V2EFIWEJ25", - apiKey: "dc6b220f7d2bcd12da60b9cce431d8c5", - indexName: "ory", - contextualSearch: true, - searchParameters: { - facetFilters: [[`tags:${config.projectSlug}`, `tags:docs`]], - }, - }, - navbar: { - hideOnScroll: false, - logo: { - alt: config.projectName, - src: `img/logo-${config.projectSlug}.svg`, - srcDark: `img/logo-${config.projectSlug}.svg`, - href: - config.projectSlug === "docs" - ? `https://www.ory.sh` - : `https://www.ory.sh/${config.projectSlug}`, - }, - items: [ - ...links, - { - type: "docsVersionDropdown", - position: "right", - dropdownActiveClassDisabled: true, - dropdownItemsAfter: [ - { - to: "/versions", - label: "All versions", - }, - ], - }, - ], - }, - footer: { - style: "dark", - copyright: `Copyright © ${new Date().getFullYear()} ORY GmbH`, - links: [ - { - title: "Company", - items: [ - { - label: "Imprint", - href: "https://www.ory.sh/imprint", - }, - { - label: "Privacy", - href: "https://www.ory.sh/privacy", - }, - { - label: "Terms", - href: "https://www.ory.sh/tos", - }, - ], - }, - ], - }, - }, - plugins: [ - [ - "@docusaurus/plugin-content-docs", - { - path: - config.projectSlug === "docusaurus-template" - ? "contrib/docs" - : "docs", - sidebarPath: require.resolve("./contrib/sidebar.js"), - editUrl: `https://github.com/ory/${githubRepoName}/edit/master/docs`, - editCurrentVersion: false, - routeBasePath: "/", - showLastUpdateAuthor: true, - showLastUpdateTime: true, - disableVersioning: false, - include: ["**/*.md", "**/*.mdx", "**/*.jsx"], - docLayoutComponent: "@theme/RoutedDocPage", - }, - ], - "@docusaurus/plugin-content-pages", - require.resolve("./src/plugins/ory-scripts-loader"), - require.resolve("./src/plugins/docusaurus-plugin-matamo"), - "@docusaurus/plugin-sitemap", - ], - themes: [ - [ - "@docusaurus/theme-classic", - { - customCss, - }, - ], - "@docusaurus/theme-search-algolia", - "docusaurus-theme-redoc", - ], -} diff --git a/src/config/hydra/sidebar.json b/src/config/hydra/sidebar.json deleted file mode 100644 index cca68cdd9..000000000 --- a/src/config/hydra/sidebar.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - { - "Introduction": [ - "hydra/index", - "hydra/5min-tutorial", - "hydra/install", - "hydra/contributing" - ] - }, - { - "Concepts": [ - "hydra/concepts/before-oauth2", - "hydra/concepts/oauth2", - "hydra/concepts/openid-connect-oidc", - "hydra/concepts/login", - "hydra/concepts/consent", - "hydra/concepts/logout", - "hydra/jwks", - "hydra/limitations" - ] - }, - { - "Guides": [ - { - "type": "category", - "label": "Implementing the User Interface", - "items": [ - "hydra/guides/login", - "hydra/guides/consent", - "hydra/guides/logout" - ] - }, - { - "type": "category", - "label": "Operations", - "items": [ - "hydra/configure-deploy", - "hydra/dependencies-environment", - "hydra/production", - "hydra/guides/tracing", - "hydra/guides/hsm-support", - "hydra/guides/secrets-key-rotation", - "hydra/guides/kubernetes-helm-chart", - "hydra/guides/ssl-https-tls", - "hydra/guides/cookies", - "hydra/guides/scaling-hydra", - "hydra/guides/cors", - "hydra/guides/gitlab", - "hydra/guides/migrating-from-mitreid", - "hydra/guides/merge-multiple-db-secrets" - ] - }, - { - "type": "category", - "label": "OAuth2 & OpenID Connect", - "items": [ - "hydra/advanced", - "hydra/guides/openid-connect-dynamic-client-registration", - "hydra/guides/oauth2-clients", - "hydra/guides/oauth2-grant-type-jwt-bearer", - "hydra/guides/common-oauth2-openid-connect-flows", - "hydra/guides/using-oauth2", - "hydra/guides/token-expiration", - "hydra/guides/oauth2-token-introspection", - "hydra/guides/oauth2-public-spa-mobile" - ] - } - ] - }, - "hydra/reference/api", - { - "Reference": [ - "hydra/reference/configuration", - { - "Command Line Interface (CLI)": [] - } - ] - }, - { - "Debug & Help": [ - "hydra/debug", - "hydra/debug/csrf", - "hydra/debug/config", - "hydra/debug/token-endpoint-auth-method", - "hydra/debug/logout", - "hydra/faq" - ] - }, - { - "SDKs": ["hydra/sdk", "hydra/sdk/go", "hydra/sdk/js", "hydra/sdk/php"] - }, - { - "Development": ["hydra/milestones"] - }, - { - "Further Reading": [ - "hydra/case-study", - "hydra/benchmark", - "hydra/security-architecture" - ] - } -] diff --git a/src/config/hydra/versions.json b/src/config/hydra/versions.json deleted file mode 100644 index f583affc3..000000000 --- a/src/config/hydra/versions.json +++ /dev/null @@ -1 +0,0 @@ -["v1.10", "v1.9", "v1.8", "v1.7", "v1.6", "v1.5", "v1.4"] diff --git a/src/config/keto/config.js b/src/config/keto/config.js deleted file mode 100644 index 48e297258..000000000 --- a/src/config/keto/config.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -module.exports = { - projectName: "ORY Oathkeeper", - projectSlug: "oathkeeper", - newsletter: - "https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53&group[17097][16]=1", - projectTagLine: - "A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.", - updateTags: [ - { - image: "oryd/oathkeeper", - files: ["docs/docs/install.md", "docs/docs/configure-deploy.md"], - }, - { - replacer: ({ content, next }) => - content.replace( - /v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?/gi, - `${next}`, - ), - files: ["docs/docs/install.md"], - }, - ], - updateConfig: { - src: "../.schema/config.schema.json", - dst: "docs/reference/configuration.md", - }, -} diff --git a/src/config/keto/docusaurus.config.js b/src/config/keto/docusaurus.config.js deleted file mode 100644 index 8c36eb56a..000000000 --- a/src/config/keto/docusaurus.config.js +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -const config = require("./contrib/config.js") -const fs = require("fs") - -const githubRepoName = - config.projectSlug === "ecosystem" ? "docs" : config.projectSlug - -const baseUrl = config.baseUrl ? config.baseUrl : `/${config.projectSlug}/docs/` - -let links = [ - { - to: "https://www.ory.sh/", - label: `Home`, - position: "left", - }, - { - href: `https://github.com/ory/${githubRepoName}/discussions`, - label: "Discussions", - position: "right", - }, - { - href: "https://www.ory.sh/chat", - label: "Slack", - position: "right", - }, - { - href: `https://github.com/ory/${githubRepoName}`, - label: "GitHub", - position: "right", - }, -] - -const customCss = [require.resolve("./contrib/theme.css")] - -if (fs.existsSync("./src/css/theme.css")) { - customCss.push(require.resolve("./src/css/theme.css")) -} - -const githubPrismTheme = require("prism-react-renderer/themes/github") - -const prismThemeLight = { - ...githubPrismTheme, - styles: [ - ...githubPrismTheme.styles, - { - languages: ["keto-relation-tuples"], - types: ["namespace"], - style: { - color: "#666", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["object"], - style: { - color: "#939", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["relation"], - style: { - color: "#e80", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["delimiter"], - style: { - color: "#555", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["comment"], - style: { - color: "#999", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["subject"], - style: { - color: "#903", - }, - }, - ], -} - -module.exports = { - title: config.projectName, - tagline: config.projectTagLine, - url: `https://www.ory.sh/`, - baseUrl, - favicon: "img/favico.png", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - organizationName: "ory", // Usually your GitHub org/user name. - projectName: config.projectSlug, // Usually your repo name. - themeConfig: { - prism: { - theme: prismThemeLight, - darkTheme: require("prism-react-renderer/themes/dracula"), - additionalLanguages: ["json5", "pug", "shell-session"], - }, - announcementBar: { - id: "supportus", - content: - config.projectSlug === "docs" - ? `Sign up for important security announcements and if you like the ${config.projectName} give us some ⭐️ on GitHub!` - : `Sign up for important security announcements and if you like ${config.projectName} give it a ⭐️ on GitHub!`, - }, - algolia: { - appId: "V2EFIWEJ25", - apiKey: "dc6b220f7d2bcd12da60b9cce431d8c5", - indexName: "ory", - contextualSearch: true, - searchParameters: { - facetFilters: [[`tags:${config.projectSlug}`, `tags:docs`]], - }, - }, - navbar: { - hideOnScroll: false, - logo: { - alt: config.projectName, - src: `img/logo-${config.projectSlug}.svg`, - srcDark: `img/logo-${config.projectSlug}.svg`, - href: - config.projectSlug === "docs" - ? `https://www.ory.sh` - : `https://www.ory.sh/${config.projectSlug}`, - }, - items: [ - ...links, - { - type: "docsVersionDropdown", - position: "right", - dropdownActiveClassDisabled: true, - dropdownItemsAfter: [ - { - to: "/versions", - label: "All versions", - }, - ], - }, - ], - }, - footer: { - style: "dark", - copyright: `Copyright © ${new Date().getFullYear()} ORY GmbH`, - links: [ - { - title: "Company", - items: [ - { - label: "Imprint", - href: "https://www.ory.sh/imprint", - }, - { - label: "Privacy", - href: "https://www.ory.sh/privacy", - }, - { - label: "Terms", - href: "https://www.ory.sh/tos", - }, - ], - }, - ], - }, - }, - plugins: [ - [ - "@docusaurus/plugin-content-docs", - { - path: - config.projectSlug === "docusaurus-template" - ? "contrib/docs" - : "docs", - sidebarPath: require.resolve("./contrib/sidebar.js"), - editUrl: `https://github.com/ory/${githubRepoName}/edit/master/docs`, - editCurrentVersion: false, - routeBasePath: "/", - showLastUpdateAuthor: true, - showLastUpdateTime: true, - disableVersioning: false, - include: ["**/*.md", "**/*.mdx", "**/*.jsx"], - docLayoutComponent: "@theme/RoutedDocPage", - }, - ], - "@docusaurus/plugin-content-pages", - require.resolve("./src/plugins/ory-scripts-loader"), - require.resolve("./src/plugins/docusaurus-plugin-matamo"), - "@docusaurus/plugin-sitemap", - ], - themes: [ - [ - "@docusaurus/theme-classic", - { - customCss, - }, - ], - "@docusaurus/theme-search-algolia", - "docusaurus-theme-redoc", - ], -} diff --git a/src/config/keto/sidebar.json b/src/config/keto/sidebar.json deleted file mode 100644 index d04a51075..000000000 --- a/src/config/keto/sidebar.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "Introduction": ["index", "install", "contributing"] - }, - { - "Core Concepts": [ - "api-access-rules", - { - "type": "category", - "label": "Handlers", - "items": [ - "pipeline", - "pipeline/authn", - "pipeline/authz", - "pipeline/mutator", - "pipeline/error" - ] - } - ] - }, - { - "Guides": ["configure-deploy"] - }, - "reference/api", - { - "Reference": ["reference/configuration"] - }, - { - "SDKs": ["sdk"] - }, - { - "Development": ["milestones"] - } -] diff --git a/src/config/keto/versions.json b/src/config/keto/versions.json deleted file mode 100644 index fe0000f35..000000000 --- a/src/config/keto/versions.json +++ /dev/null @@ -1 +0,0 @@ -["v0.38", "v0.37"] diff --git a/src/config/kratos/config.js b/src/config/kratos/config.js deleted file mode 100644 index f4f687ebc..000000000 --- a/src/config/kratos/config.js +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -module.exports = { - projectName: "Ory Kratos", - projectSlug: "kratos", - newsletter: - "https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53&group[17097][4]=1", - projectTagLine: - "Never build user login, user registration, 2fa, profile management ever again! Works on any operating system, cloud, with any programming language, user interface, and user experience! Written in Go.", - updateTags: [ - { - image: "oryd/kratos", - files: ["docs/docs/quickstart.mdx"], - }, - { - replacer: ({ content, next }) => - content.replace( - /git checkout (v[0-9a-zA-Z\\.\\-]+)/gi, - `git checkout ${next}`, - ), - files: [ - "docs/docs/guides/zero-trust-iap-proxy-identity-access-proxy.mdx", - "docs/docs/quickstart.mdx", - ], - }, - { - replacer: ({ content, next, semverRegex }) => - content.replace(semverRegex, `${next}`), - files: ["docs/docs/install.md", "docs/docs/quickstart.mdx"], - }, - { - replacer: ({ content, next }) => - content.replace( - /oryd\/kratos:(v[0-9a-zA-Z\\.\\-]+)/gi, - `oryd/kratos:${next}-sqlite`, - ), - files: ["quickstart.yml"], - }, - { - replacer: ({ content, next }) => - content.replace( - /oryd\/kratos-selfservice-ui-node:(v[0-9a-zA-Z\\.\\-]+)/gi, - `oryd/kratos-selfservice-ui-node:${next}`, - ), - files: ["quickstart.yml"], - }, - { - image: "oryd/kratos", - files: [ - "quickstart-mysql.yml", - "quickstart-crdb.yml", - "quickstart-postgres.yml", - ], - }, - ], - updateConfig: { - src: "../embedx/config.schema.json", - dst: "./docs/reference/configuration.md", - }, -} diff --git a/src/config/kratos/docusaurus.config.js b/src/config/kratos/docusaurus.config.js deleted file mode 100644 index 8c36eb56a..000000000 --- a/src/config/kratos/docusaurus.config.js +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -const config = require("./contrib/config.js") -const fs = require("fs") - -const githubRepoName = - config.projectSlug === "ecosystem" ? "docs" : config.projectSlug - -const baseUrl = config.baseUrl ? config.baseUrl : `/${config.projectSlug}/docs/` - -let links = [ - { - to: "https://www.ory.sh/", - label: `Home`, - position: "left", - }, - { - href: `https://github.com/ory/${githubRepoName}/discussions`, - label: "Discussions", - position: "right", - }, - { - href: "https://www.ory.sh/chat", - label: "Slack", - position: "right", - }, - { - href: `https://github.com/ory/${githubRepoName}`, - label: "GitHub", - position: "right", - }, -] - -const customCss = [require.resolve("./contrib/theme.css")] - -if (fs.existsSync("./src/css/theme.css")) { - customCss.push(require.resolve("./src/css/theme.css")) -} - -const githubPrismTheme = require("prism-react-renderer/themes/github") - -const prismThemeLight = { - ...githubPrismTheme, - styles: [ - ...githubPrismTheme.styles, - { - languages: ["keto-relation-tuples"], - types: ["namespace"], - style: { - color: "#666", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["object"], - style: { - color: "#939", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["relation"], - style: { - color: "#e80", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["delimiter"], - style: { - color: "#555", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["comment"], - style: { - color: "#999", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["subject"], - style: { - color: "#903", - }, - }, - ], -} - -module.exports = { - title: config.projectName, - tagline: config.projectTagLine, - url: `https://www.ory.sh/`, - baseUrl, - favicon: "img/favico.png", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - organizationName: "ory", // Usually your GitHub org/user name. - projectName: config.projectSlug, // Usually your repo name. - themeConfig: { - prism: { - theme: prismThemeLight, - darkTheme: require("prism-react-renderer/themes/dracula"), - additionalLanguages: ["json5", "pug", "shell-session"], - }, - announcementBar: { - id: "supportus", - content: - config.projectSlug === "docs" - ? `Sign up for important security announcements and if you like the ${config.projectName} give us some ⭐️ on GitHub!` - : `Sign up for important security announcements and if you like ${config.projectName} give it a ⭐️ on GitHub!`, - }, - algolia: { - appId: "V2EFIWEJ25", - apiKey: "dc6b220f7d2bcd12da60b9cce431d8c5", - indexName: "ory", - contextualSearch: true, - searchParameters: { - facetFilters: [[`tags:${config.projectSlug}`, `tags:docs`]], - }, - }, - navbar: { - hideOnScroll: false, - logo: { - alt: config.projectName, - src: `img/logo-${config.projectSlug}.svg`, - srcDark: `img/logo-${config.projectSlug}.svg`, - href: - config.projectSlug === "docs" - ? `https://www.ory.sh` - : `https://www.ory.sh/${config.projectSlug}`, - }, - items: [ - ...links, - { - type: "docsVersionDropdown", - position: "right", - dropdownActiveClassDisabled: true, - dropdownItemsAfter: [ - { - to: "/versions", - label: "All versions", - }, - ], - }, - ], - }, - footer: { - style: "dark", - copyright: `Copyright © ${new Date().getFullYear()} ORY GmbH`, - links: [ - { - title: "Company", - items: [ - { - label: "Imprint", - href: "https://www.ory.sh/imprint", - }, - { - label: "Privacy", - href: "https://www.ory.sh/privacy", - }, - { - label: "Terms", - href: "https://www.ory.sh/tos", - }, - ], - }, - ], - }, - }, - plugins: [ - [ - "@docusaurus/plugin-content-docs", - { - path: - config.projectSlug === "docusaurus-template" - ? "contrib/docs" - : "docs", - sidebarPath: require.resolve("./contrib/sidebar.js"), - editUrl: `https://github.com/ory/${githubRepoName}/edit/master/docs`, - editCurrentVersion: false, - routeBasePath: "/", - showLastUpdateAuthor: true, - showLastUpdateTime: true, - disableVersioning: false, - include: ["**/*.md", "**/*.mdx", "**/*.jsx"], - docLayoutComponent: "@theme/RoutedDocPage", - }, - ], - "@docusaurus/plugin-content-pages", - require.resolve("./src/plugins/ory-scripts-loader"), - require.resolve("./src/plugins/docusaurus-plugin-matamo"), - "@docusaurus/plugin-sitemap", - ], - themes: [ - [ - "@docusaurus/theme-classic", - { - customCss, - }, - ], - "@docusaurus/theme-search-algolia", - "docusaurus-theme-redoc", - ], -} diff --git a/src/config/kratos/sidebar.json b/src/config/kratos/sidebar.json deleted file mode 100644 index cfd2bd4b5..000000000 --- a/src/config/kratos/sidebar.json +++ /dev/null @@ -1,140 +0,0 @@ -[ - { - "Introduction": [ - "index", - "quickstart", - "install", - "configuring", - "contributing" - ] - }, - { - "Concepts": [ - "concepts/index", - "concepts/terminology", - "concepts/session", - "concepts/ui-user-interface", - "concepts/management-ui", - "concepts/identity-schema", - { - "label": "Identity Credentials", - "type": "category", - "items": [ - "concepts/credentials", - "concepts/credentials/username-email-password", - "concepts/credentials/openid-connect-oidc-oauth2", - "concepts/credentials/lookup-secrets", - "concepts/credentials/totp", - "concepts/credentials/webauthn" - ] - }, - "concepts/browser-redirect-flow-completion", - "concepts/email-sms", - "concepts/rest-api", - "concepts/federation", - "concepts/security" - ] - }, - { - "Self Service (End-User)": [ - "self-service", - "self-service/flows/user-registration", - "self-service/flows/user-login", - "self-service/flows/user-settings", - "self-service/flows/account-recovery", - "self-service/flows/verify-email-account-activation", - "self-service/flows/user-logout", - "self-service/flows/user-facing-errors", - "self-service/flows/2fa-mfa-multi-factor-authentication", - "self-service/hooks" - ] - }, - { - "Administration": ["admin/managing-users-identities"] - }, - { - "Guides": [ - "guides/2fa", - "guides/sign-in-with-github-google-facebook-linkedin", - "guides/login-session", - "guides/configuring-cookies", - "guides/multi-domain-cookies", - "guides/setting-up-cors", - "guides/password-policy", - "guides/account-recovery-password-reset", - "guides/account-activation-email-verification", - "guides/zero-trust-iap-proxy-identity-access-proxy", - "guides/multi-tenancy-multitenant", - "guides/secret-key-rotation", - "guides/retrieve-social-sign-in-access-refresh-id-token", - "guides/setting-up-noop-cipher-parameters", - "guides/setting-up-xchacha-cipher-parameters", - "guides/setting-up-aes-cipher-parameters", - "guides/high-availability-ha", - "guides/docker", - "guides/https-tls", - "guides/setting-up-password-hashing-parameters", - "guides/integration-with-other-systems-using-web-hooks", - "guides/tracing", - "guides/upgrade", - "guides/password-policy" - ] - }, - "reference/api", - { - "Reference": [ - "reference/configuration", - "reference/json-schema-json-paths", - "reference/html-forms", - { - "Command Line Interface (CLI)": [ - "cli/kratos", - "cli/kratos-courier", - "cli/kratos-courier-watch", - "cli/kratos-hashers", - "cli/kratos-hashers-argon2", - "cli/kratos-hashers-argon2-calibrate", - "cli/kratos-hashers-argon2-hash", - "cli/kratos-hashers-argon2-load-test", - "cli/kratos-identities", - "cli/kratos-identities-delete", - "cli/kratos-identities-get", - "cli/kratos-identities-import", - "cli/kratos-identities-list", - "cli/kratos-identities-patch", - "cli/kratos-identities-validate", - "cli/kratos-jsonnet", - "cli/kratos-jsonnet-format", - "cli/kratos-jsonnet-lint", - "cli/kratos-migrate", - "cli/kratos-migrate-sql", - "cli/kratos-remote", - "cli/kratos-remote-status", - "cli/kratos-remote-version", - "cli/kratos-serve", - "cli/kratos-version" - ] - } - ] - }, - { - "Debug & Help": [ - "debug/troubleshooting", - "debug/csrf", - "debug/performance-out-of-memory-password-hashing-argon2", - "debug/debug-docker-delve-ory-kratos" - ] - }, - { - "SDKs": ["sdk"] - }, - { - "Development": ["milestones"] - }, - { - "Further Reading": [ - "further-reading/comparison", - "further-reading/kratos-video-tutorials" - ] - } -] diff --git a/src/config/kratos/versions.json b/src/config/kratos/versions.json deleted file mode 100644 index 82379b577..000000000 --- a/src/config/kratos/versions.json +++ /dev/null @@ -1 +0,0 @@ -["v0.8", "v0.7", "v0.6", "v0.5", "v0.4", "v0.3", "v0.2", "v0.1"] diff --git a/src/config/oathkeeper/config.js b/src/config/oathkeeper/config.js deleted file mode 100644 index 48e297258..000000000 --- a/src/config/oathkeeper/config.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -module.exports = { - projectName: "ORY Oathkeeper", - projectSlug: "oathkeeper", - newsletter: - "https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53&group[17097][16]=1", - projectTagLine: - "A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.", - updateTags: [ - { - image: "oryd/oathkeeper", - files: ["docs/docs/install.md", "docs/docs/configure-deploy.md"], - }, - { - replacer: ({ content, next }) => - content.replace( - /v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?/gi, - `${next}`, - ), - files: ["docs/docs/install.md"], - }, - ], - updateConfig: { - src: "../.schema/config.schema.json", - dst: "docs/reference/configuration.md", - }, -} diff --git a/src/config/oathkeeper/docusaurus.config.js b/src/config/oathkeeper/docusaurus.config.js deleted file mode 100644 index 8c36eb56a..000000000 --- a/src/config/oathkeeper/docusaurus.config.js +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright © 2022 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -const config = require("./contrib/config.js") -const fs = require("fs") - -const githubRepoName = - config.projectSlug === "ecosystem" ? "docs" : config.projectSlug - -const baseUrl = config.baseUrl ? config.baseUrl : `/${config.projectSlug}/docs/` - -let links = [ - { - to: "https://www.ory.sh/", - label: `Home`, - position: "left", - }, - { - href: `https://github.com/ory/${githubRepoName}/discussions`, - label: "Discussions", - position: "right", - }, - { - href: "https://www.ory.sh/chat", - label: "Slack", - position: "right", - }, - { - href: `https://github.com/ory/${githubRepoName}`, - label: "GitHub", - position: "right", - }, -] - -const customCss = [require.resolve("./contrib/theme.css")] - -if (fs.existsSync("./src/css/theme.css")) { - customCss.push(require.resolve("./src/css/theme.css")) -} - -const githubPrismTheme = require("prism-react-renderer/themes/github") - -const prismThemeLight = { - ...githubPrismTheme, - styles: [ - ...githubPrismTheme.styles, - { - languages: ["keto-relation-tuples"], - types: ["namespace"], - style: { - color: "#666", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["object"], - style: { - color: "#939", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["relation"], - style: { - color: "#e80", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["delimiter"], - style: { - color: "#555", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["comment"], - style: { - color: "#999", - }, - }, - { - languages: ["keto-relation-tuples"], - types: ["subject"], - style: { - color: "#903", - }, - }, - ], -} - -module.exports = { - title: config.projectName, - tagline: config.projectTagLine, - url: `https://www.ory.sh/`, - baseUrl, - favicon: "img/favico.png", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - organizationName: "ory", // Usually your GitHub org/user name. - projectName: config.projectSlug, // Usually your repo name. - themeConfig: { - prism: { - theme: prismThemeLight, - darkTheme: require("prism-react-renderer/themes/dracula"), - additionalLanguages: ["json5", "pug", "shell-session"], - }, - announcementBar: { - id: "supportus", - content: - config.projectSlug === "docs" - ? `Sign up for important security announcements and if you like the ${config.projectName} give us some ⭐️ on GitHub!` - : `Sign up for important security announcements and if you like ${config.projectName} give it a ⭐️ on GitHub!`, - }, - algolia: { - appId: "V2EFIWEJ25", - apiKey: "dc6b220f7d2bcd12da60b9cce431d8c5", - indexName: "ory", - contextualSearch: true, - searchParameters: { - facetFilters: [[`tags:${config.projectSlug}`, `tags:docs`]], - }, - }, - navbar: { - hideOnScroll: false, - logo: { - alt: config.projectName, - src: `img/logo-${config.projectSlug}.svg`, - srcDark: `img/logo-${config.projectSlug}.svg`, - href: - config.projectSlug === "docs" - ? `https://www.ory.sh` - : `https://www.ory.sh/${config.projectSlug}`, - }, - items: [ - ...links, - { - type: "docsVersionDropdown", - position: "right", - dropdownActiveClassDisabled: true, - dropdownItemsAfter: [ - { - to: "/versions", - label: "All versions", - }, - ], - }, - ], - }, - footer: { - style: "dark", - copyright: `Copyright © ${new Date().getFullYear()} ORY GmbH`, - links: [ - { - title: "Company", - items: [ - { - label: "Imprint", - href: "https://www.ory.sh/imprint", - }, - { - label: "Privacy", - href: "https://www.ory.sh/privacy", - }, - { - label: "Terms", - href: "https://www.ory.sh/tos", - }, - ], - }, - ], - }, - }, - plugins: [ - [ - "@docusaurus/plugin-content-docs", - { - path: - config.projectSlug === "docusaurus-template" - ? "contrib/docs" - : "docs", - sidebarPath: require.resolve("./contrib/sidebar.js"), - editUrl: `https://github.com/ory/${githubRepoName}/edit/master/docs`, - editCurrentVersion: false, - routeBasePath: "/", - showLastUpdateAuthor: true, - showLastUpdateTime: true, - disableVersioning: false, - include: ["**/*.md", "**/*.mdx", "**/*.jsx"], - docLayoutComponent: "@theme/RoutedDocPage", - }, - ], - "@docusaurus/plugin-content-pages", - require.resolve("./src/plugins/ory-scripts-loader"), - require.resolve("./src/plugins/docusaurus-plugin-matamo"), - "@docusaurus/plugin-sitemap", - ], - themes: [ - [ - "@docusaurus/theme-classic", - { - customCss, - }, - ], - "@docusaurus/theme-search-algolia", - "docusaurus-theme-redoc", - ], -} diff --git a/src/css/theme.css b/src/css/theme.css index 6e2a802e4..e39f958e0 100644 --- a/src/css/theme.css +++ b/src/css/theme.css @@ -50,3 +50,17 @@ svg[class*="iconExternalLink"] { padding: 0 12px; display: block; } + +@media (max-width: 996px) { + .footer__links a, + .footer__links a:active, + .footer__links a:visited, + .footer__links a:focus { + color: inherit; + text-decoration: none; + } + + .footer__links a:not(:first-child) { + margin-top: 1em; + } +} diff --git a/src/static/img/logos/HOW-TO-UPDATE.md b/src/static/img/logos/HOW-TO-UPDATE.md new file mode 100644 index 000000000..5cb77487d --- /dev/null +++ b/src/static/img/logos/HOW-TO-UPDATE.md @@ -0,0 +1,12 @@ +# How to update these logos + +As you might have noticed, the logos in this folder have dates in their names. +This is necessary in order to reflect changes despite browser caching. Normally, +Docusaurus handles this for us, but these logos are included in a way that +evades those mechanisms. + +Therefore, every time the logos are updated, their names must be changed. When +you decide to change one of the files, just set the filename's date to the +current date. This is only important for all deployments, not for local +development (meaning the images will never be cached locally but they might be +on a Vercel preview.) diff --git a/src/static/img/logo-docs.svg b/src/static/img/logos/logo-docs-2023-02-15.svg similarity index 100% rename from src/static/img/logo-docs.svg rename to src/static/img/logos/logo-docs-2023-02-15.svg diff --git a/src/static/img/logo-docs-dark.svg b/src/static/img/logos/logo-docs-dark-2023-02-15.svg similarity index 100% rename from src/static/img/logo-docs-dark.svg rename to src/static/img/logos/logo-docs-dark-2023-02-15.svg diff --git a/src/static/img/logo-ory-white.svg b/src/static/img/logos/logo-ory-white-2022-11-04.svg similarity index 100% rename from src/static/img/logo-ory-white.svg rename to src/static/img/logos/logo-ory-white-2022-11-04.svg diff --git a/vercel.json b/vercel.json index a502369f1..31cfdc374 100644 --- a/vercel.json +++ b/vercel.json @@ -4,6 +4,17 @@ }, "cleanUrls": true, "trailingSlash": false, + "headers": [ + { + "source": "/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=22118400" + } + ] + } + ], "redirects": [ { "source": "/",