Skip to content

Commit 66be6a1

Browse files
authored
Merge pull request #993 from supertokens/improv/md-pages
2 parents 0f03384 + 1500848 commit 66be6a1

File tree

223 files changed

+217
-606
lines changed

Some content is hidden

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

223 files changed

+217
-606
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,5 @@ scripts/code-type-checking/dart/snippets/*
4040

4141

4242
tmp/*
43+
44+
.opencode/*

OpenCode.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SuperTokens Documentation Development Guide
2+
3+
## Build & Development Commands
4+
5+
- Start dev server: `npm run start`
6+
- Build for production: `npm run build`
7+
- Lint code: `npm run lint:prettier`
8+
- Validate content: `npm run lint:vale`
9+
- Run tests: `npm run test`
10+
- Run single test: `npm run test -- -t "test name"`
11+
- Watch tests: `npm run test:watch`
12+
- Check code blocks: `npm run check-code-blocks <language>`
13+
14+
## Code Style Guidelines
15+
16+
- Use TypeScript for all new code
17+
- Follow Docusaurus conventions for MDX files
18+
- Use American English spelling
19+
- Write in active voice and direct language
20+
- Use 2-space indentation
21+
- Import order: React/external libraries first, then internal components
22+
- Error handling: Use try/catch blocks with specific error messages
23+
- Naming: camelCase for variables/functions, PascalCase for components/classes
24+
- Avoid marketing language and subjective statements
25+
- Organize content with clear headings and logical structure
26+
- Define acronyms on first use
27+
- Use functional components with hooks for React code
28+
- Do not import React components inside MDX files. Add them to the `MDXComponents` object in `src/theme/MDXComponents.tsx`
29+
30+
## Project Structure
31+
32+
- `/docs`: MDX content files
33+
- `/src`: React components and website functionality
34+
- `/scripts`: Build and validation scripts
35+

docs/additional-verification/attack-protection-suite/_blocks/anomaly-detection-request.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { H2, H3, H4 } from "/src/components/Typography";
2-
import { HTTPRequestCard } from "/src/components/Cards";
31

42
<HTTPRequestCard.DetailsModalHeader>
53
<HTTPRequestCard.DetailsModalDescription>

docs/additional-verification/attack-protection-suite/initial-setup.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,7 @@ hide_title: true
66
description: Set up Attack Protection Suite in your **SuperTokens** integration
77
---
88

9-
import { BackendTabs } from "/src/components/Tabs";
10-
import { HTTPRequestCard } from "/src/components/Cards";
119

12-
import { DescriptionText } from "/src/components/DescriptionText";
13-
import { Separator } from "/src/components/Separator";
1410
import AnomalyDetectionRequest from "./_blocks/anomaly-detection-request.mdx";
1511

1612
# Initial setup

docs/additional-verification/email-verification/changing-style.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ sidebar_position: 7
55
description: Update SuperTokens component styles using CSS for customized UI appearance.
66
---
77

8-
import { FrontendPrebuiltUITabs } from "/src/components/Tabs";
98

109
# Customize the pre-built UI
1110

docs/additional-verification/email-verification/embed-in-page.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ description: >-
77
Embed the email verification UI in a different page.
88
---
99

10-
import {
11-
FrontendPrebuiltUITabs,
12-
BackendTabs,
13-
} from "/src/components/Tabs";
1410

1511
# Embed in a page
1612

docs/additional-verification/email-verification/hooks-and-overrides.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ description: >-
66
Add custom logic in the email verification flow by overriding the SuperTokens APIs.
77
---
88

9-
import {
10-
BackendTabs,
11-
} from "/src/components/Tabs";
129

1310
# Hooks and overrides
1411

docs/additional-verification/email-verification/initial-setup.mdx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,6 @@ description: >-
88
routes.
99
---
1010

11-
import { AccountTypeCard } from "/src/components";
12-
import {
13-
FrontendPrebuiltUITabs,
14-
FrontendCustomUITabs,
15-
BackendTabs,
16-
} from "/src/components/Tabs";
17-
18-
import { AppInfoForm } from "/src/components/Forms";
19-
import { NpmOrScriptsCard, MobileFrameworksCard, NodeFrameworksCard, PythonFrameworksCard, GoFrameworksCard } from "/src/components/Cards";
20-
import { Question, Answer } from "/src/components/Question";
21-
import { OAuthEmailVerificationCallout } from "/src/components/Callouts"
22-
2311
# Enable email verification
2412

2513

docs/additional-verification/email-verification/introduction.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
routes.
99
---
1010

11-
import { ReferenceCard } from "/src/components";
1211

1312
# Email verification
1413

docs/additional-verification/email-verification/manual-actions.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ description: >-
66
See how you can directly generate email verification links and set emails as verified through manual actions.
77
---
88

9-
import { BackendTabs } from "/src/components/Tabs";
10-
import { PythonSyncAsyncCard } from "/src/components/Cards";
11-
import { ContextCondition } from "/src/components";
129

1310
# Manual actions
1411

docs/additional-verification/email-verification/protecting-routes.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@ description: >-
77
secure access.
88
---
99

10-
import { FrontendPrebuiltUITabs, FrontendCustomUITabs, BackendTabs } from "/src/components/Tabs";
1110

12-
import { AppInfoForm } from "/src/components/Forms";
13-
import { NpmOrScriptsCard, MobileFrameworksCard, NodeFrameworksCard, PythonFrameworksCard, GoFrameworksCard } from "/src/components/Cards";
14-
import { Question, Answer } from "/src/components/Question";
1511

1612
# Protecting backend and frontend routes
1713

docs/additional-verification/mfa/email-sms-otp/embed.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ description: >-
88
application.
99
---
1010

11-
import { FrontendPrebuiltUITabs, ReactRouterVersionTabs } from "/src/components/Tabs";
12-
import { Question, Answer } from "/src/components/Question";
1311

1412
# Embed the pre-built UI component
1513

docs/additional-verification/mfa/email-sms-otp/otp-for-all-users.mdx

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@ description: >-
88
an OTP challenge.
99
---
1010

11-
import {
12-
FrontendPrebuiltUITabs,
13-
FrontendCustomUITabs,
14-
BackendTabs,
15-
} from "/src/components/Tabs";
16-
import { NpmOrScriptsCard, MobileFrameworksCard, PythonSyncAsyncCard } from "/src/components/Cards";
17-
import { Question, Answer } from "/src/components/Question";
18-
import { AppInfoForm } from "/src/components/Forms";
19-
import { ContextCondition } from "/src/components";
2011

2112
# OTP required for all users
2213

docs/additional-verification/mfa/email-sms-otp/otp-for-opt-in-users.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
defined criteria.
99
---
1010

11-
import { BackendTabs } from "/src/components/Tabs";
1211

1312
# OTP for specific users
1413

docs/additional-verification/mfa/hooks-and-overrides.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ description: >-
77
tenant-specific configurations.
88
---
99

10-
import {
11-
FrontendPrebuiltUITabs,
12-
} from "/src/components/Tabs";
1310

1411
# Hooks and overrides
1512

docs/additional-verification/mfa/initial-setup.mdx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,6 @@ description: >-
88
tenant-specific configurations.
99
---
1010

11-
import { BackendTabs, TenantType } from "/src/components";
12-
import { PythonSyncAsyncCard } from "/src/components/Cards";
13-
import {
14-
FrontendPrebuiltUITabs,
15-
FrontendCustomUITabs,
16-
} from "/src/components/Tabs";
17-
18-
import { NpmOrScriptsCard, MobileFrameworksCard } from "/src/components/Cards";
19-
import { AppInfoForm } from "/src/components/Forms";
20-
import { Question, Answer } from "/src/components/Question";
2111

2212
# Initial setup
2313

docs/additional-verification/mfa/introduction.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
user authentication preferences.
99
---
1010

11-
import { ReferenceCard } from "/src/components";
1211

1312
# Multi-factor authentication
1413

docs/additional-verification/mfa/legacy-mfa/backend-setup/first-factor.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ description: >-
88
frameworks.
99
---
1010

11-
import { AppInfoForm } from "/src/components/Forms";
12-
import { BackendTabs } from "/src/components/Tabs";
13-
import { NodeFrameworksCard, PythonFrameworksCard, GoFrameworksCard } from "/src/components/Cards";
1411

1512
# Setting up the 1st factor
1613

docs/additional-verification/mfa/legacy-mfa/backend-setup/protecting-api.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
programming languages.
99
---
1010

11-
import { BackendTabs } from "/src/components/Tabs";
1211

1312
# Protecting API routes
1413

docs/additional-verification/mfa/legacy-mfa/backend-setup/second-factor.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ description: >-
88
recipe.
99
---
1010

11-
import { BackendTabs } from "/src/components/Tabs";
12-
import { AppInfoForm } from "/src/components/Forms";
13-
import { NodeFrameworksCard, PythonFrameworksCard, GoFrameworksCard } from "/src/components/Cards";
1411

1512
# Setting up the 2nd factor
1613

docs/additional-verification/mfa/legacy-mfa/frontend-custom.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ description: >-
88
and session management.
99
---
1010

11-
import { AppInfoForm } from "/src/components/Forms";
12-
import { NpmOrScriptsCard } from "/src/components/Cards";
1311

1412
# Using a custom UI
1513

docs/additional-verification/mfa/legacy-mfa/prebuilt-ui/init.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
MultiFactorAuth using SuperTokens.
99
---
1010

11-
import { AppInfoForm } from "/src/components/Forms";
1211

1312
:::info Caution
1413
This is the legacy method of implementing MFA. It has several [disadvantages](../legacy-vs-new) compared to using our MFA recipe.

docs/additional-verification/mfa/legacy-mfa/prebuilt-ui/protecting-routes.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: protecting-routes
3-
title: 3) Protecting routes
3+
title: 3. Protecting routes
44
hide_title: true
55
sidebar_position: 3
66
description: >-

docs/additional-verification/mfa/legacy-mfa/prebuilt-ui/showing-login-ui.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
22
id: showing-login-ui
3-
title: 2) Showing the first and second factor UI
3+
title: 2. Showing the first and second factor UI
44
hide_title: true
55
sidebar_position: 2
66
description: Implement a custom second factor UI for legacy multi-factor authentication.
77
---
88

9-
import { AppInfoForm } from "/src/components/Forms";
109

1110
:::info Caution
1211
This is the legacy method of implementing MFA. It has several [disadvantages](../legacy-vs-new) compared to using our MFA recipe.

docs/additional-verification/mfa/migration/legacy-to-new.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
changes for enhanced security.
99
---
1010

11-
import { BackendTabs } from "/src/components/Tabs";
1211

1312

1413
# Migration from legacy MFA to new MFA method

docs/additional-verification/mfa/migration/old-sdk-to-new.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ description: >-
88
transition for existing users.
99
---
1010

11-
import { BackendTabs } from "/src/components/Tabs";
1211

1312
# Migration from an older SuperTokens SDK to a newer one
1413

docs/additional-verification/mfa/protect-routes.mdx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,6 @@ description: >-
77
Multi-Factor Authentication (MFA).
88
---
99

10-
import {
11-
FrontendPrebuiltUITabs,
12-
FrontendCustomUITabs,
13-
BackendTabs,
14-
} from "/src/components/Tabs";
15-
import { AppInfoForm } from "/src/components/Forms";
16-
import { NodeFrameworksCard, PythonFrameworksCard, GoFrameworksCard, NpmOrScriptsCard, MobileFrameworksCard } from "/src/components/Cards";
1710

1811
import { TokensCallout, ContextCondition } from "/src/components";
1912

docs/additional-verification/mfa/step-up-auth.mdx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@ description: >-
77
Implement step-up authentication using SuperTokens MFA recipe.
88
---
99

10-
import { MobileFrameworksCard, NpmOrScriptsCard, NodeFrameworksCard, PythonFrameworksCard } from "/src/components/Cards";
11-
import {
12-
FrontendPrebuiltUITabs,
13-
FrontendCustomUITabs,
14-
BackendTabs,
15-
} from "/src/components/Tabs";
1610

1711
# Implement step-up authentication
1812

docs/additional-verification/mfa/totp/embed.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ description: >-
66
Embed and customize a prebuilt TOTP UI component.
77
---
88

9-
import { FrontendPrebuiltUITabs, ReactRouterVersionTabs } from "/src/components/Tabs";
10-
import { Question, Answer } from "/src/components/Question";
119

1210
# Embed the pre-built UI component
1311

docs/additional-verification/mfa/totp/totp-for-all-users.mdx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ description: >-
77
security.
88
---
99

10-
import { TenantType } from "/src/components";
11-
import { BackendTabs, FrontendCustomUITabs, FrontendPrebuiltUITabs } from "/src/components/Tabs";
12-
import { PythonSyncAsyncCard, NpmOrScriptsCard, MobileFrameworksCard } from "/src/components/Cards";
13-
import { Question, Answer } from "/src/components/Question";
14-
import { AppInfoForm } from "/src/components/Forms";
1510

1611
# TOTP required for all users
1712

docs/additional-verification/mfa/totp/totp-for-opt-in-users.mdx

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@ description: >-
88
criteria.
99
---
1010

11-
import {
12-
FrontendCustomUITabs,
13-
FrontendPrebuiltUITabs,
14-
BackendTabs,
15-
} from "/src/components/Tabs";
16-
import { TenantType } from "/src/components";
17-
import { AppInfoForm } from "/src/components/Forms";
18-
import { ContextCondition } from "/src/components";
19-
import { PythonSyncAsyncCard, NpmOrScriptsCard, MobileFrameworksCard } from "/src/components/Cards";
2011

2112

2213
# Require TOTP for specific users

docs/additional-verification/session-verification/_blocks/session-object.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11

2-
import { Box } from "@radix-ui/themes";
3-
import { BackendTabs } from "/src/components/Tabs";
4-
52
<BackendTabs>
63

74
<BackendTabs.TabItem value="nodejs">

docs/additional-verification/session-verification/claim-validation.mdx

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,6 @@ description: >-
77
Validate your resources based on claims that get attached to the session.
88
---
99

10-
import {
11-
FrontendPrebuiltUITabs,
12-
FrontendCustomUITabs,
13-
BackendTabs,
14-
ReactRouterVersionTabs,
15-
} from "/src/components/Tabs";
16-
import {
17-
NpmOrScriptsCard,
18-
MobileFrameworksCard,
19-
PythonSyncAsyncCard,
20-
NodeFrameworksCard,
21-
PythonFrameworksCard,
22-
GoFrameworksCard,
23-
} from "/src/components/Cards";
24-
import { ContextCondition } from "/src/components";
2510

2611
# Claim validation
2712

docs/additional-verification/session-verification/protect-api-routes.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ description: >-
77
function, and manual JWT verification.
88
---
99

10-
import { AppInfoForm } from '/src/components/Forms';
11-
import { BackendTabs } from "/src/components/Tabs";
12-
import { TokensCallout } from "/src/components";
13-
import { NodeFrameworksCard, PythonFrameworksCard, GoFrameworksCard } from "/src/components/Cards";
1410

1511
import SessionObject from "./_blocks/session-object.mdx";
1612

0 commit comments

Comments
 (0)