Skip to content

Commit 7dc7c90

Browse files
authored
refactor: update tutorial slugs (#1110)
* refactor: update tutorial paths * refactor: fix redirect paths
1 parent a8e6bad commit 7dc7c90

File tree

1,788 files changed

+2858
-2842
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,788 files changed

+2858
-2842
lines changed

docusaurus-common.config.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import { themes } from 'prism-react-renderer';
66
import rehypeKatex from 'rehype-katex';
77
import remarkMath from 'remark-math';
88

9+
import { howToBasePath } from './src/theme/BlogPostItem/utils';
10+
911
export const defaultLocale = 'en';
1012

1113
// A workaround for locale-specific values in the config
@@ -96,8 +98,8 @@ export const injectHeadTagsPlugin: PluginConfig = () => ({
9698
* generate absolute URLs. This is useful when deploying multiple Docusaurus sites under the same
9799
* domain.
98100
*
99-
* For example, the main site is deployed at `https://docs.logto.io`, and the
100-
* tutorials site is deployed at `https://docs.logto.io/tutorials`. A relative URL for the main site
101+
* For example, the main site is deployed at `https://docs.logto.io/`, and the
102+
* tutorials site is deployed at `https://tutorials.logto.io/`. A relative URL for the main site
101103
* in the tutorials site would result 404 errors if the URL is not prefixed with the main site
102104
* domain, as each site is a standalone single-page application.
103105
*/
@@ -158,7 +160,7 @@ export const createCommonThemeConfig = (site: Site) => {
158160
href: 'https://openapi.logto.io/group/endpoint-experience',
159161
},
160162
{ label: 'Management API', href: 'https://openapi.logto.io' },
161-
{ label: 'Build X with Y', to: tutorialsSiteUrl + 'tutorials' }, // TODO: @gao temporarily hardcode the URL, we'll update it later
163+
{ label: 'Build X with Y', to: buildUrl('/' + howToBasePath, 'tutorials') },
162164
],
163165
},
164166
{
@@ -235,14 +237,10 @@ export const createCommonThemeConfig = (site: Site) => {
235237
} satisfies ThemeConfig);
236238
};
237239

238-
export const commonI18n = {
239-
defaultLocale: 'en',
240-
locales: ['de', 'en', 'es', 'fr', 'ja', 'ko', 'pt-BR', 'zh-CN', 'zh-TW'],
241-
localeConfigs: {
242-
'zh-CN': { label: '简体中文' },
243-
'zh-TW': { label: '繁體中文(台灣)' },
244-
},
245-
};
240+
export const localeConfigs = Object.freeze({
241+
'zh-CN': { label: '简体中文' },
242+
'zh-TW': { label: '繁體中文(台灣)' },
243+
});
246244

247245
export const commonMarkdown = {
248246
mermaid: true,

docusaurus-tutorials.config.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,18 @@ import {
88
addAliasPlugin,
99
cfPagesBranch,
1010
classicPresetConfig,
11-
commonI18n,
1211
commonMarkdown,
1312
commonStylesheets,
1413
createCommonThemeConfig,
1514
currentLocale,
15+
defaultLocale,
1616
getCloudflareSubdomain,
1717
injectHeadTagsPlugin,
1818
isCfPagesPreview,
19+
localeConfigs,
1920
mainSiteUrl,
2021
} from './docusaurus-common.config';
22+
import { howToBasePath } from './src/theme/BlogPostItem/utils';
2123

2224
const getLogtoDocsUrl = () =>
2325
isCfPagesPreview
@@ -38,7 +40,11 @@ const config: Config = {
3840
organizationName: 'logto-io',
3941
projectName: 'docs',
4042

41-
i18n: commonI18n,
43+
i18n: {
44+
defaultLocale,
45+
locales: ['en', 'es', 'fr', 'ja'],
46+
localeConfigs,
47+
},
4248

4349
customFields: {
4450
mainSiteUrl,
@@ -85,7 +91,7 @@ const config: Config = {
8591
* URL route for the blog section of your site.
8692
* *DO NOT* include a trailing slash.
8793
*/
88-
routeBasePath: 'tutorials',
94+
routeBasePath: howToBasePath,
8995
/**
9096
* Path to data on filesystem relative to site dir.
9197
*/

docusaurus.config.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ import {
66
addAliasPlugin,
77
cfPagesBranch,
88
classicPresetConfig,
9-
commonI18n,
109
commonMarkdown,
1110
commonStylesheets,
1211
createCommonThemeConfig,
1312
currentLocale,
13+
defaultLocale,
1414
getCloudflareSubdomain,
1515
injectHeadTagsPlugin,
1616
isCfPagesPreview,
17+
localeConfigs,
1718
mainSiteUrl,
1819
} from './docusaurus-common.config';
1920
import ogImageGenerator from './plugins/og-image-generator';
@@ -35,7 +36,11 @@ const config: Config = {
3536
organizationName: 'logto-io',
3637
projectName: 'docs',
3738

38-
i18n: commonI18n,
39+
i18n: {
40+
defaultLocale,
41+
locales: ['de', 'en', 'es', 'fr', 'ja', 'ko', 'pt-BR', 'zh-CN', 'zh-TW'],
42+
localeConfigs,
43+
},
3944

4045
customFields: {
4146
inkeepApiKey: process.env.INKEEP_API_KEY,

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/_template-passwordless.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-${connectorPath}-sign-in-with-${sdkPath}-and-logto
2+
slug: build-${connectorPath}-sign-in-with-${sdkPath}-and-logto
33
tags: [autenticación, ${connectorPath}, ${sdkPath}, ${language}, inicio-de-sesión-sin-contraseña, inicio-de-sesión, login]
44
title: Cómo construir ${connector} ${connectorType} inicio de sesión sin contraseña con ${sdk}
55
sdk: ${sdk}
@@ -66,4 +66,4 @@ export const connector = '${connector}';
6666

6767
## Lecturas adicionales \{#further-readings}
6868

69-
<FurtherReadings />
69+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/_template-social.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-${connectorPath}-sign-in-with-${sdkPath}-and-logto
2+
slug: build-${connectorPath}-sign-in-with-${sdkPath}-and-logto
33
tags: [autenticación, ${connectorPath}, ${sdkPath}, ${language}, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de ${connector} con ${sdk}
55
sdk: ${sdk}
@@ -60,4 +60,4 @@ export const connector = '${connector}';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/_template-sso.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-${connectorPath}-sign-in-with-${sdkPath}-and-logto
2+
slug: build-${connectorPath}-sign-in-with-${sdkPath}-and-logto
33
tags: [SSO providers, ${connectorPath}, ${sdkPath}, ${language}, SAML authentication, enterprise login, SSO login]
44
title: How to build ${connector} with ${sdk}
55
sdk: ${sdk}

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-amazon.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-amazon-sign-in-with-android-and-logto
2+
slug: build-amazon-sign-in-with-android-and-logto
33
tags: [autenticación, amazon, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Amazon con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Amazon';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-apple.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-apple-sign-in-with-android-and-logto
2+
slug: build-apple-sign-in-with-android-and-logto
33
tags: [autenticación, apple, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Apple con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Apple';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-aws-ses.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-aws-ses-sign-in-with-android-and-logto
2+
slug: build-aws-ses-sign-in-with-android-and-logto
33
tags: [autenticación, aws-ses, android, kotlin/java, inicio-de-sesión-sin-contraseña, inicio-de-sesión, login]
44
title: Cómo construir AWS SES Email inicio de sesión sin contraseña con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -66,4 +66,4 @@ export const connector = 'AWS SES';
6666

6767
## Lecturas adicionales \{#further-readings}
6868

69-
<FurtherReadings />
69+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-azure-ad.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-azure-ad-sign-in-with-android-and-logto
2+
slug: build-azure-ad-sign-in-with-android-and-logto
33
tags: [autenticación, azure-ad, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Azure AD con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Azure AD';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-discord.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-discord-sign-in-with-android-and-logto
2+
slug: build-discord-sign-in-with-android-and-logto
33
tags: [autenticación, discord, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Discord con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Discord';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-facebook.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-facebook-sign-in-with-android-and-logto
2+
slug: build-facebook-sign-in-with-android-and-logto
33
tags: [autenticación, facebook, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Facebook con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Facebook';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-github.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-github-sign-in-with-android-and-logto
2+
slug: build-github-sign-in-with-android-and-logto
33
tags: [autenticación, github, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de GitHub con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'GitHub';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-google-workspace-enterprise-sso.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-google-workspace-enterprise-sso-sign-in-with-android-and-logto
2+
slug: build-google-workspace-enterprise-sso-sign-in-with-android-and-logto
33
tags: [SSO providers, google-workspace-enterprise-sso, android, kotlin/java, SAML authentication, enterprise login, SSO login]
44
title: How to build Google Workspace enterprise SSO with Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-google.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-google-sign-in-with-android-and-logto
2+
slug: build-google-sign-in-with-android-and-logto
33
tags: [autenticación, google, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Google con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Google';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-hugging-face.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-hugging-face-sign-in-with-android-and-logto
2+
slug: build-hugging-face-sign-in-with-android-and-logto
33
tags: [autenticación, hugging-face, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Hugging Face con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Hugging Face';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-kakao.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-kakao-sign-in-with-android-and-logto
2+
slug: build-kakao-sign-in-with-android-and-logto
33
tags: [autenticación, kakao, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Kakao con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Kakao';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-line.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-line-sign-in-with-android-and-logto
2+
slug: build-line-sign-in-with-android-and-logto
33
tags: [autenticación, line, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Line con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Line';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-linkedin.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-linkedin-sign-in-with-android-and-logto
2+
slug: build-linkedin-sign-in-with-android-and-logto
33
tags: [autenticación, linkedin, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de LinkedIn con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'LinkedIn';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-microsoft-entra-id-oidc-enterprise-sso.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-microsoft-entra-id-oidc-enterprise-sso-sign-in-with-android-and-logto
2+
slug: build-microsoft-entra-id-oidc-enterprise-sso-sign-in-with-android-and-logto
33
tags: [SSO providers, microsoft-entra-id-oidc-enterprise-sso, android, kotlin/java, SAML authentication, enterprise login, SSO login]
44
title: How to build Microsoft Entra ID OIDC enterprise SSO with Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-microsoft-entra-id-saml-enterprise-sso.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-microsoft-entra-id-saml-enterprise-sso-sign-in-with-android-and-logto
2+
slug: build-microsoft-entra-id-saml-enterprise-sso-sign-in-with-android-and-logto
33
tags: [SSO providers, microsoft-entra-id-saml-enterprise-sso, android, kotlin/java, SAML authentication, enterprise login, SSO login]
44
title: How to build Microsoft Entra ID SAML enterprise SSO with Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-naver.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-naver-sign-in-with-android-and-logto
2+
slug: build-naver-sign-in-with-android-and-logto
33
tags: [autenticación, naver, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de Naver con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'Naver';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-oauth2.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-oauth2-sign-in-with-android-and-logto
2+
slug: build-oauth2-sign-in-with-android-and-logto
33
tags: [autenticación, oauth2, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de OAuth2 con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'OAuth2';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-oidc-enterprise-sso.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-oidc-enterprise-sso-sign-in-with-android-and-logto
2+
slug: build-oidc-enterprise-sso-sign-in-with-android-and-logto
33
tags: [SSO providers, oidc-enterprise-sso, android, kotlin/java, SAML authentication, enterprise login, SSO login]
44
title: How to build OIDC enterprise SSO with Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-oidc.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-oidc-sign-in-with-android-and-logto
2+
slug: build-oidc-sign-in-with-android-and-logto
33
tags: [autenticación, oidc, android, kotlin/java, inicio-de-sesión-social, inicio-de-sesión, login]
44
title: Cómo construir el inicio de sesión de OIDC con Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)
@@ -60,4 +60,4 @@ export const connector = 'OIDC';
6060

6161
## Lecturas adicionales \{#further-readings}
6262

63-
<FurtherReadings />
63+
<FurtherReadings />

i18n/es/docusaurus-plugin-content-blog-tutorial/build-with-logto/generated-android-okta-enterprise-sso.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: how-to-build-okta-enterprise-sso-sign-in-with-android-and-logto
2+
slug: build-okta-enterprise-sso-sign-in-with-android-and-logto
33
tags: [SSO providers, okta-enterprise-sso, android, kotlin/java, SAML authentication, enterprise login, SSO login]
44
title: How to build Okta enterprise SSO with Android (Kotlin / Java)
55
sdk: Android (Kotlin / Java)

0 commit comments

Comments
 (0)