diff --git a/apps/docs/components/CustomHTMLElements/Heading.tsx b/apps/docs/components/CustomHTMLElements/Heading.tsx index 9d427e79b99..336dba4d0f7 100644 --- a/apps/docs/components/CustomHTMLElements/Heading.tsx +++ b/apps/docs/components/CustomHTMLElements/Heading.tsx @@ -26,7 +26,7 @@ interface Props { * * In tsx files, we can generate this tocList directly. For these files, we don't * need to parse the and generate anchors. Custom anchors are used in tsx files. - * (see: /pages/reference/cli/config.tsx) + * (see: /pages/guides/cli/config.tsx) */ const Heading: React.FC = ({ tag, customAnchor, children }) => { const HeadingTag = `${tag}` as any diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index dc334dda287..37803d4823b 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -1042,6 +1042,10 @@ export const supabase_cli: NavMenuConstant = { name: 'Testing and linting', url: '/guides/cli/testing-and-linting', }, + { + name: 'Customizing email templates', + url: '/guides/cli/customizing-email-templates', + }, ], }, { diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx index 452eb693116..bb5b6035dbd 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx @@ -95,7 +95,7 @@ const menus: Menu[] = [ }, { id: 'supabase_cli', - // TODO: Add path '/reference/cli/config' + // TODO: Add path '/guides/cli/config' path: '/guides/cli', type: 'guide', }, diff --git a/apps/docs/data/nav/supabase-cli.ts b/apps/docs/data/nav/supabase-cli.ts index 65a5bce9419..9eb1a91e66c 100644 --- a/apps/docs/data/nav/supabase-cli.ts +++ b/apps/docs/data/nav/supabase-cli.ts @@ -4,7 +4,7 @@ const Nav = [ items: [ { name: 'Supabase CLI', url: '/reference/cli', items: [] }, { name: 'Usage', url: '/reference/cli/usage', items: [] }, - { name: 'Configuration', url: '/reference/cli/config', items: [] }, + { name: 'Configuration', url: '/guides/cli/config', items: [] }, { name: 'Release Notes', url: '/reference/cli/release-notes', items: [] }, ], }, diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx new file mode 100644 index 00000000000..4702b09ad72 --- /dev/null +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -0,0 +1,124 @@ +import Layout from '~/layouts/DefaultGuideLayout' + +export const meta = { + id: 'customizing-email-templates', + title: 'Customizing email templates', + description: 'Customizing local email templates using config.toml.', + subtitle: 'Customizing local email templates using config.toml.', +} + +You can customize the email templates for local development [using the `config.toml` settings](/docs/guides/cli/config#auth-config). + +## Configuring Templates + +You should provide a relative URL to the `content_path` parameter, pointing to an HTML file which contains the template. For example + + + +```toml supabase/config.toml +[auth.email.template.invite] +subject = "You are invited to Acme Inc" +content_path = "./supabase/templates/invite.html" +``` + +```html supabase/templates/invite.html + + +

Confirm your signup

+

Confirm your email

+ + +``` + + + +## Available email templates + +There are several Auth email templates which can be configured: + +- `auth.email.template.invite` +- `auth.email.template.confirmation` +- `auth.email.template.recovery` +- `auth.email.template.magic_link` +- `auth.email.template.email_change` + +## Template variables + +The templating system provides the following variables for use: + +### ConfirmationURL + +Contains the confirmation URL. For example, a signup confirmation URL would look like: + +``` +https://project-ref.supabase.co/auth/v1/verify?token={{ .TokenHash }}&type=signup&redirect_to=https://example.com/path +``` + +**Usage** + +```html +

Click here to confirm: {{ .ConfirmationURL }}

+``` + +### Token + +Contains a 6-digit One-Time-Password (OTP) that can be used instead of the `ConfirmationURL`. + +**Usage** + +```html +

Here is your one time password: {{ .Token }}

+``` + +### TokenHash + +Contains a hashed version of the `Token`. This is useful for constructing your own email link in the email template. + +**Usage** + +```html +

Follow this link to confirm your user:

+

+ Confirm your email +

+``` + +### SiteURL + +Contains your application's Site URL. This can be configured in your project's [authentication settings](/dashboard/project/_/auth/url-configuration). + +**Usage** + +```html +

Visit here to log in.

+``` + +### Email + +Contains the user's email address. + +**Usage** + +```html +

A recovery request was sent to {{ .Email }}.

+``` + +### NewEmail + +Contains the new user's email address. This is only available in the `email_change` email template. + +**Usage** + +```html +

You are requesting to update your email address to {{ .NewEmail }}.

+``` + +## Deploying email templates + +These settings are only for local development. To update your hosted project, please copy the templates into the [Email Templates](/dashboard/project/_/auth/templates) section of the Dashboard. + +export const Page = ({ children }) => + +export default Page diff --git a/apps/docs/pages/guides/cli/managing-config.mdx b/apps/docs/pages/guides/cli/managing-config.mdx index 1f93c9e52cf..d63eeafd81c 100644 --- a/apps/docs/pages/guides/cli/managing-config.mdx +++ b/apps/docs/pages/guides/cli/managing-config.mdx @@ -12,7 +12,7 @@ The Supabase CLI uses a `config.toml` file to manage local configuration. This f The `config.toml` file is automatically created when you run `supabase start`. -There are a wide variety of options available, which can be found in the [CLI Config Reference](/docs/reference/cli/config). +There are a wide variety of options available, which can be found in the [CLI Config Reference](/docs/guides/cli/config). For example, to enable the "Apple" OAuth provider for local development, you can append the following information to `config.toml`: diff --git a/apps/docs/pages/guides/functions/cicd-workflow.mdx b/apps/docs/pages/guides/functions/cicd-workflow.mdx index 4827bde8473..b729044c17e 100644 --- a/apps/docs/pages/guides/functions/cicd-workflow.mdx +++ b/apps/docs/pages/guides/functions/cicd-workflow.mdx @@ -38,7 +38,7 @@ jobs: Since Supabase CLI [v1.62.0](https://github.com/supabase/cli/releases/tag/v1.62.0) you can deploy all functions with a single command. -Individual function configuration like [JWT verification](/docs/reference/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/reference/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. +Individual function configuration like [JWT verification](/docs/guides/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/guides/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. ```toml [functions.hello-world] diff --git a/apps/docs/pages/guides/functions/examples/github-actions.mdx b/apps/docs/pages/guides/functions/examples/github-actions.mdx index 7baf600b40d..d29fd6f1981 100644 --- a/apps/docs/pages/guides/functions/examples/github-actions.mdx +++ b/apps/docs/pages/guides/functions/examples/github-actions.mdx @@ -47,7 +47,7 @@ jobs: Since Supabase CLI [v1.62.0](https://github.com/supabase/cli/releases/tag/v1.62.0) you can deploy all functions with a single command. -Individual function configuration like [JWT verification](/docs/reference/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/reference/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. +Individual function configuration like [JWT verification](/docs/guides/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/guides/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. ```toml [functions.hello-world] diff --git a/apps/docs/pages/guides/functions/quickstart.mdx b/apps/docs/pages/guides/functions/quickstart.mdx index 14de4f79620..7c32c36db06 100644 --- a/apps/docs/pages/guides/functions/quickstart.mdx +++ b/apps/docs/pages/guides/functions/quickstart.mdx @@ -66,7 +66,7 @@ supabase functions deploy Since Supabase CLI [v1.62.0](https://github.com/supabase/cli/releases/tag/v1.62.0) you can deploy all functions with a single command. This is useful for example when [deploying with GitHub Actions](/docs/guides/functions/cicd-workflow). -Individual function configuration like [JWT verification](/docs/reference/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/reference/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. +Individual function configuration like [JWT verification](/docs/guides/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/guides/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. ```toml [functions.hello-world] diff --git a/spec/cli_v1_config.yaml b/spec/cli_v1_config.yaml index 308a3e0c4ae..1726e69d937 100644 --- a/spec/cli_v1_config.yaml +++ b/spec/cli_v1_config.yaml @@ -260,6 +260,38 @@ parameters: links: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.email.template.type.subject' + title: 'auth.email.template..subject' + tags: ['auth'] + required: false + description: | + The full list of email template types are: + + - `invite` + - `confirmation` + - `recovery` + - `magic_link` + - `email_change` + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.email.template.type.content_path' + title: 'auth.email.template..content_path' + tags: ['auth'] + required: false + description: | + The full list of email template types are: + + - `invite` + - `confirmation` + - `recovery` + - `magic_link` + - `email_change` + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' - id: 'auth.external.provider.enabled' title: 'auth.external..enabled'