From aaab51caef53564788d1ae59d5fcf370b8bca8af Mon Sep 17 00:00:00 2001
From: Jonathan Summers-Muir
Date: Mon, 8 Nov 2021 15:41:08 +0800
Subject: [PATCH] Chore/relative paths (#3827)
* chore: use relative urls
* chore: update relative links for web
* fix some links
* more relative urls to homepage
* update config
* leverage the /docs baseurl
---
web/docs/company/privacy.md | 2 +-
web/docs/going-into-prod.mdx | 2 +-
web/docs/guides/auth/auth-apple.mdx | 2 +-
web/docs/guides/auth/auth-bitbucket.mdx | 2 +-
web/docs/guides/auth/auth-discord.mdx | 2 +-
web/docs/guides/auth/auth-facebook.mdx | 2 +-
web/docs/guides/auth/auth-github.mdx | 2 +-
web/docs/guides/auth/auth-gitlab.mdx | 2 +-
web/docs/guides/auth/auth-google.mdx | 2 +-
web/docs/guides/auth/auth-messagebird.mdx | 4 ++--
web/docs/guides/auth/auth-slack.mdx | 2 +-
web/docs/guides/auth/auth-spotify.mdx | 2 +-
web/docs/guides/auth/auth-twilio.mdx | 4 ++--
web/docs/guides/auth/auth-twitch.mdx | 2 +-
web/docs/guides/auth/auth-twitter.mdx | 2 +-
web/docs/guides/database.mdx | 2 +-
web/docs/guides/database/sql-to-api.mdx | 6 ++---
web/docs/guides/storage.mdx | 6 ++---
web/docs/handbook/supasquad.mdx | 2 +-
web/docs/learn/auth-deep-dive/policies.md | 4 ++--
web/docusaurus.config.js | 4 ++--
.../2020-06-01-supabase-alpha-may-2020.mdx | 2 +-
.../2020-07-01-supabase-alpha-june-2020.mdx | 2 +-
.../2020-07-10-alpha-launch-postmortem.mdx | 4 ++--
...8-02-continuous-postgresql-backup-walg.mdx | 4 ++--
.../2020-08-02-supabase-alpha-july-2020.mdx | 2 +-
.../2020-09-03-supabase-alpha-august-2020.mdx | 4 ++--
...20-10-03-supabase-alpha-september-2020.mdx | 2 +-
...2020-11-02-supabase-alpha-october-2020.mdx | 6 ++---
www/_blog/2020-12-02-case-study-tayfa.mdx | 2 +-
...2021-01-02-supabase-beta-december-2020.mdx | 2 +-
...2021-02-27-cracking-postgres-interview.mdx | 6 ++---
...2021-03-02-supabase-beta-february-2021.mdx | 6 ++---
.../2021-03-05-postgres-as-a-cron-server.mdx | 2 +-
.../2021-03-11-using-supabase-replit.mdx | 4 ++--
www/_blog/2021-03-25-launch-week.mdx | 18 +++++++--------
www/_blog/2021-03-29-pricing.mdx | 8 +++----
www/_blog/2021-03-30-supabase-storage.mdx | 10 ++++-----
www/_blog/2021-03-31-supabase-cli.mdx | 10 ++++-----
.../2021-04-01-supabase-nft-marketplace.mdx | 2 +-
www/_blog/2021-04-02-supabase-dot-com.mdx | 2 +-
www/_blog/2021-04-02-supabase-workflows.mdx | 6 ++---
.../2021-04-06-supabase-beta-march-2021.mdx | 22 +++++++++----------
.../2021-05-03-supabase-beta-april-2021.mdx | 8 +++----
.../2021-06-02-supabase-beta-may-2021.mdx | 2 +-
www/_blog/2021-07-01-roles-postgres-hooks.mdx | 4 ++--
.../2021-07-02-supabase-beta-june-2021.mdx | 22 +++++++++----------
.../2021-07-22-supabase-launch-week-sql.mdx | 6 ++---
.../2021-07-26-supabase-community-day.mdx | 8 +++----
www/_blog/2021-07-27-storage-beta.mdx | 10 ++++-----
...8-supabase-auth-passwordless-sms-login.mdx | 8 +++----
.../2021-07-30-1-the-supabase-hackathon.mdx | 12 +++++-----
.../2021-07-30-supabase-functions-updates.mdx | 6 ++---
www/_blog/2021-08-09-hackathon-winners.mdx | 10 ++++-----
.../2021-08-12-supabase-beta-july-2021.mdx | 20 ++++++++---------
.../2021-09-10-supabase-beta-august-2021.mdx | 10 ++++-----
...-supabase-hacktoberfest-hackathon-2021.mdx | 14 ++++++------
.../2021-10-04-supabase-beta-sept-2021.mdx | 8 +++----
...4-hacktoberfest-hackathon-winners-2021.mdx | 10 ++++-----
...sh-time-to-value-in-less-than-24-hours.mdx | 2 +-
www/_blog/2021-10-28-supabase-series-a.mdx | 14 ++++++------
www/components/BuiltWithSupabase/index.tsx | 4 ++--
www/components/Hero.tsx | 2 +-
www/components/Sections/GithubExamples.tsx | 8 +++----
www/data/Announcement.json | 2 +-
www/data/DeveloperFeatures.json | 6 ++---
www/data/Footer.json | 2 +-
www/data/PricingFAQ.json | 4 ++--
.../products/auth/auth-sql-rules-examples.js | 6 ++---
www/pages/auth/Auth.tsx | 6 ++---
www/pages/database/Database.tsx | 6 ++---
www/pages/storage/Storage.tsx | 4 ++--
72 files changed, 204 insertions(+), 204 deletions(-)
diff --git a/web/docs/company/privacy.md b/web/docs/company/privacy.md
index 308381bef3b..add2644257e 100644
--- a/web/docs/company/privacy.md
+++ b/web/docs/company/privacy.md
@@ -124,7 +124,7 @@ This Privacy Notice was last modified on 27th March 2021
## Privacy disclosures for the European economic area, United Kingdom, and Switzerland.
-While we are primarily based in the United States, Supabase maintains operations in Europe and may direct our services to individuals located in the European Economic Area ("**_EEA_**"), United Kingdom and Switzerland, including through our Site [supabase.io](https://supabase.io/) (collectively, our "**_European Services_**"). The following disclosures ("**_Privacy Disclosures_**") apply to our processing of personal data in connection with our European Services.
+While we are primarily based in the United States, Supabase maintains operations in Europe and may direct our services to individuals located in the European Economic Area ("**_EEA_**"), United Kingdom and Switzerland, including through our Site [supabase.io](/) (collectively, our "**_European Services_**"). The following disclosures ("**_Privacy Disclosures_**") apply to our processing of personal data in connection with our European Services.
Supabase, Inc. is the data controller responsible for the processing of personal data in connection with our European Services. This means that we determine and are responsible for how your personal information is used.
diff --git a/web/docs/going-into-prod.mdx b/web/docs/going-into-prod.mdx
index 74533325aba..72589466455 100644
--- a/web/docs/going-into-prod.mdx
+++ b/web/docs/going-into-prod.mdx
@@ -14,7 +14,7 @@ After developing your project, and deciding it's time to Go Live With Real Users
- Ensure RLS is enabled
- Tables that do not have RLS enabled with reasonable policies allow any client to access and modify their data. This is unlikely to be what you want in the majority of cases.
- - [Learn more about RLS](https://supabase.io/docs/guides/auth/row-level-security)
+ - [Learn more about RLS](/docs/guides/auth/row-level-security)
- Ensure replication is disabled for tables containing sensitive data:
- Today, Realtime does not respect RLS policies and any client with your anon key can listen to changes on tables where replication is enabled.
- Go to the Database > Replication page in the Supabase Dashboard to manage these settings
diff --git a/web/docs/guides/auth/auth-apple.mdx b/web/docs/guides/auth/auth-apple.mdx
index 2a33f51de60..b3df1a24871 100644
--- a/web/docs/guides/auth/auth-apple.mdx
+++ b/web/docs/guides/auth/auth-apple.mdx
@@ -179,7 +179,7 @@ puts token
### Add login code to your client app
-The JavaScript client code is documented in the [Supabase OAuth Reference](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
+The JavaScript client code is documented in the [Supabase OAuth Reference](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-bitbucket.mdx b/web/docs/guides/auth/auth-bitbucket.mdx
index 869be70f98c..4de68b75ce0 100644
--- a/web/docs/guides/auth/auth-bitbucket.mdx
+++ b/web/docs/guides/auth/auth-bitbucket.mdx
@@ -70,7 +70,7 @@ The next step requires a callback URL, which looks like this:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-discord.mdx b/web/docs/guides/auth/auth-discord.mdx
index a8e92fecc26..64a40087205 100644
--- a/web/docs/guides/auth/auth-discord.mdx
+++ b/web/docs/guides/auth/auth-discord.mdx
@@ -70,7 +70,7 @@ In the next step you require a callback URL, which looks like this:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-facebook.mdx b/web/docs/guides/auth/auth-facebook.mdx
index 117aa0a7294..faffd5ef3a8 100644
--- a/web/docs/guides/auth/auth-facebook.mdx
+++ b/web/docs/guides/auth/auth-facebook.mdx
@@ -87,7 +87,7 @@ You can read more about access levels [here](https://developers.facebook.com/doc
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-github.mdx b/web/docs/guides/auth/auth-github.mdx
index 50b5a056b2f..ace4e4f37e7 100644
--- a/web/docs/guides/auth/auth-github.mdx
+++ b/web/docs/guides/auth/auth-github.mdx
@@ -79,7 +79,7 @@ Copy your new OAuth credentials
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-gitlab.mdx b/web/docs/guides/auth/auth-gitlab.mdx
index 72814d79099..954b44c7bf2 100644
--- a/web/docs/guides/auth/auth-gitlab.mdx
+++ b/web/docs/guides/auth/auth-gitlab.mdx
@@ -66,7 +66,7 @@ The next step requires a callback URL, which looks like this:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-google.mdx b/web/docs/guides/auth/auth-google.mdx
index bc551fad531..4c3ad1a4fda 100644
--- a/web/docs/guides/auth/auth-google.mdx
+++ b/web/docs/guides/auth/auth-google.mdx
@@ -95,7 +95,7 @@ Copy your new OAuth credentials
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-messagebird.mdx b/web/docs/guides/auth/auth-messagebird.mdx
index 45b51c4a19b..4c9639c09a1 100644
--- a/web/docs/guides/auth/auth-messagebird.mdx
+++ b/web/docs/guides/auth/auth-messagebird.mdx
@@ -159,7 +159,7 @@ If successful the user will now be logged in and you should receive a valid sess
}
```
-The access token can be sent in the Authorization header as a Bearer token for any CRUD operations on supabase-js. See our guide on [Row Level Security](https://supabase.io/docs/guides/auth#row-level-security) for more info on restricting access on a user basis.
+The access token can be sent in the Authorization header as a Bearer token for any CRUD operations on supabase-js. See our guide on [Row Level Security](/docs/guides/auth#row-level-security) for more info on restricting access on a user basis.
Also now that the mobile has been verified, the user can use the number and password to sign in without needing to verify their number each time:
@@ -280,4 +280,4 @@ The user does not have a password therefore will need to sign in via this method
- [MessageBird Signup](https://dashboard.messagebird.com/en/sign-up)
- [Supabase Dashboard](https://app.supabase.io)
-- [Supabase Row Level Security](https://supabase.io/docs/guides/auth#row-level-security)
+- [Supabase Row Level Security](/docs/guides/auth#row-level-security)
diff --git a/web/docs/guides/auth/auth-slack.mdx b/web/docs/guides/auth/auth-slack.mdx
index df45aa6096b..06dac7b5826 100644
--- a/web/docs/guides/auth/auth-slack.mdx
+++ b/web/docs/guides/auth/auth-slack.mdx
@@ -78,7 +78,7 @@ Under `Redirect URLs`:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-spotify.mdx b/web/docs/guides/auth/auth-spotify.mdx
index 5ea6664d195..bb79c282d94 100644
--- a/web/docs/guides/auth/auth-spotify.mdx
+++ b/web/docs/guides/auth/auth-spotify.mdx
@@ -73,7 +73,7 @@ Under `Redirect URIs`:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-twilio.mdx b/web/docs/guides/auth/auth-twilio.mdx
index a9ed349931a..9c76a76af15 100644
--- a/web/docs/guides/auth/auth-twilio.mdx
+++ b/web/docs/guides/auth/auth-twilio.mdx
@@ -176,7 +176,7 @@ If successful the user will now be logged in and you should receive a valid sess
}
```
-The access token can be sent in the Authorization header as a Bearer token for any CRUD operations on supabase-js. See our guide on [Row Level Security](https://supabase.io/docs/guides/auth#row-level-security) for more info on restricting access on a user basis.
+The access token can be sent in the Authorization header as a Bearer token for any CRUD operations on supabase-js. See our guide on [Row Level Security](/docs/guides/auth#row-level-security) for more info on restricting access on a user basis.
Also now that the mobile has been verified, the user can use the number and password to sign in without needing to verify their number each time:
@@ -297,4 +297,4 @@ The user does not have a password therefore will need to sign in via this method
- [Twilio Signup](https://www.twilio.com/try-twilio)
- [Supabase Dashboard](https://app.supabase.io)
-- [Supabase Row Level Security](https://supabase.io/docs/guides/auth#row-level-security)
+- [Supabase Row Level Security](/docs/guides/auth#row-level-security)
diff --git a/web/docs/guides/auth/auth-twitch.mdx b/web/docs/guides/auth/auth-twitch.mdx
index afa7fe79aa1..bd7c1abb0a8 100644
--- a/web/docs/guides/auth/auth-twitch.mdx
+++ b/web/docs/guides/auth/auth-twitch.mdx
@@ -84,7 +84,7 @@ In the next step you require a callback URL, which looks like this:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers)
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/auth/auth-twitter.mdx b/web/docs/guides/auth/auth-twitter.mdx
index 8c52d00885c..8556627aea4 100644
--- a/web/docs/guides/auth/auth-twitter.mdx
+++ b/web/docs/guides/auth/auth-twitter.mdx
@@ -74,7 +74,7 @@ The next step requires a callback URL, which looks like this:
### Add login code to your client app
-The JavaScript client code is documented here: [Supabase OAuth Client Code](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
+The JavaScript client code is documented here: [Supabase OAuth Client Code](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers).
```js
const { user, session, error } = await supabase.auth.signIn({
diff --git a/web/docs/guides/database.mdx b/web/docs/guides/database.mdx
index 390ea41363c..ae2fac0d51e 100644
--- a/web/docs/guides/database.mdx
+++ b/web/docs/guides/database.mdx
@@ -94,7 +94,7 @@ alter publication supabase_realtime add table posts;
| SECURITY WARNING |
| - |
-| Please check [Disable realtime for private tables](https://supabase.io/docs/guides/auth#disable-realtime-for-private-tables) for the current state of Realtime security. |
+| Please check [Disable realtime for private tables](/docs/guides/auth#disable-realtime-for-private-tables) for the current state of Realtime security. |
By default only "new" values are sent, but if you want to receive the old record (previous values) whenever you `update` or `delete` a record,
you can update the replica identity of your tables, setting it to `full`:
diff --git a/web/docs/guides/database/sql-to-api.mdx b/web/docs/guides/database/sql-to-api.mdx
index 9448bb69ca6..19a24b2601f 100644
--- a/web/docs/guides/database/sql-to-api.mdx
+++ b/web/docs/guides/database/sql-to-api.mdx
@@ -78,8 +78,8 @@ const { data, error } = await supabase
* [Supabase Account - Free Tier OK](https://supabase.io)
* [Postgrest Operators](https://postgrest.org/en/stable/api.html#operators)
-* [Supabase Javascript API: select](https://supabase.io/docs/reference/javascript/select)
-* [Supabase Javascript API: modifiers](https://supabase.io/docs/reference/javascript/using-modifiers)
-* [Supabase Javascript API: filters](https://supabase.io/docs/reference/javascript/using-filters)
+* [Supabase Javascript API: select](/docs/reference/javascript/select)
+* [Supabase Javascript API: modifiers](/docs/reference/javascript/using-modifiers)
+* [Supabase Javascript API: filters](/docs/reference/javascript/using-filters)
diff --git a/web/docs/guides/storage.mdx b/web/docs/guides/storage.mdx
index 876ce5615ff..1ae99b8fd42 100644
--- a/web/docs/guides/storage.mdx
+++ b/web/docs/guides/storage.mdx
@@ -302,9 +302,9 @@ For example, if your file is stored in `public/subfolder/avatar.png` it would re
## Accessing objects
-For private buckets, you can access objects via the [download](https://supabase.io/docs/reference/javascript/storage-from-download) method. This corresponds to `/object/auth/` API endpoint. Alternatively, you can create a publicly shareable URL an expiry date using the [createSignedUrl](https://supabase.io/docs/reference/javascript/storage-from-createsignedurl) method which calls the `/object/sign/` API.
+For private buckets, you can access objects via the [download](/docs/reference/javascript/storage-from-download) method. This corresponds to `/object/auth/` API endpoint. Alternatively, you can create a publicly shareable URL an expiry date using the [createSignedUrl](/docs/reference/javascript/storage-from-createsignedurl) method which calls the `/object/sign/` API.
-For public buckets, you can access the assets directly without a token or an Authorisation header. The [getPublicUrl](https://supabase.io/docs/reference/javascript/storage-from-getpublicurl) helper method returns the full public URL for an asset. This calls the `/object/public/` API endpoint internally.
+For public buckets, you can access the assets directly without a token or an Authorisation header. The [getPublicUrl](/docs/reference/javascript/storage-from-getpublicurl) helper method returns the full public URL for an asset. This calls the `/object/public/` API endpoint internally.
---
@@ -359,5 +359,5 @@ let us know on our [GitHub](https://github.com/supabase/supabase/discussions) an
## Next steps
- Got a question? [Ask here](https://github.com/supabase/supabase/discussions).
-- Read more about storage in our [blog post](https://supabase.io/blog/2021/03/30/supabase-storage).
+- Read more about storage in our [blog post](/blog/2021/03/30/supabase-storage).
- Sign in: [app.supabase.io](https://app.supabase.io)
diff --git a/web/docs/handbook/supasquad.mdx b/web/docs/handbook/supasquad.mdx
index 64c41ca587f..78070719ad3 100644
--- a/web/docs/handbook/supasquad.mdx
+++ b/web/docs/handbook/supasquad.mdx
@@ -46,7 +46,7 @@ Help us maintain the community guidelines in our GitHub and Community-led commun
- Access to a Supabase Discord channel providing direct communication with the team, Discord badges, and elevated privileges.
- Special AMA sessions with members of the Supabase team.
-- Monthly DevRel committee call with industry-leading Developer Advocates (many of whom are [angel investors](https://supabase.io/blog/2021/03/25/angels-of-supabase)), where you can learn from the best.
+- Monthly DevRel committee call with industry-leading Developer Advocates (many of whom are [angel investors](/blog/2021/03/25/angels-of-supabase)), where you can learn from the best.
- We'll help you build your audience by promoting content via the Supabase social channels.
- Featured profile on Supabase website.
- Early access to new features (and the opportunity to provide feedback to the team!).
diff --git a/web/docs/learn/auth-deep-dive/policies.md b/web/docs/learn/auth-deep-dive/policies.md
index 7c1f8026df3..1c1524070dc 100644
--- a/web/docs/learn/auth-deep-dive/policies.md
+++ b/web/docs/learn/auth-deep-dive/policies.md
@@ -21,7 +21,7 @@ We'll start with how user sessions work in Supabase, and later move onto writing
Let's say we're signing a user up to our service for the first time. The typical way to do this is by invoking the following method in supabase-js:
```jsx
-// see full api reference here: https://supabase.io/docs/reference/javascript/auth-signup
+// see full api reference here: /docs/reference/javascript/auth-signup
supabase.auth.signUp({ email, password })
```
@@ -80,7 +80,7 @@ For the curious, try heading to the SQL editor and querying:
select * from auth.users;
```
-If supabase-js is loaded on your site (in this case http://localhost:3000) then it will automatically pluck the access_token out of the URL and initiate a session. You can check the [session()](https://supabase.io/docs/reference/javascript/auth-session) method to see if there is a valid session:
+If supabase-js is loaded on your site (in this case http://localhost:3000) then it will automatically pluck the access_token out of the URL and initiate a session. You can check the [session()](/docs/reference/javascript/auth-session) method to see if there is a valid session:
```jsx
console.log(supabase.auth.session())
diff --git a/web/docusaurus.config.js b/web/docusaurus.config.js
index b359a21afa0..62fb9f764a5 100755
--- a/web/docusaurus.config.js
+++ b/web/docusaurus.config.js
@@ -127,7 +127,7 @@ module.exports = {
},
{
label: 'Docs',
- to: '/docs',
+ to: '/',
},
{
label: 'Pricing',
@@ -135,7 +135,7 @@ module.exports = {
},
{
label: 'Support',
- to: '/docs/support',
+ to: '/support',
},
{
label: 'System Status',
diff --git a/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx b/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx
index 77713d239ac..bb008b72215 100644
--- a/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx
+++ b/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx
@@ -11,7 +11,7 @@ tags:
date: '06-01-2020'
---
-It has been a monster month at [Supabase](https://supabase.io) and we're back with a video update. It's a longer video this month because we have a couple of housekeeping items.
+It has been a monster month at [Supabase](/) and we're back with a video update. It's a longer video this month because we have a couple of housekeeping items.
diff --git a/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx b/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx
index e791fc1ef54..3020f6e07ef 100644
--- a/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx
+++ b/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx
@@ -11,7 +11,7 @@ tags:
date: '07-01-2020'
---
-We're now 4 months into building [Supabase](https://supabase.io), which means another major update. Here's a few things we think you'll love in this release.
+We're now 4 months into building [Supabase](/), which means another major update. Here's a few things we think you'll love in this release.
diff --git a/www/_blog/2020-07-10-alpha-launch-postmortem.mdx b/www/_blog/2020-07-10-alpha-launch-postmortem.mdx
index e360d80f8da..c26f67dee1c 100644
--- a/www/_blog/2020-07-10-alpha-launch-postmortem.mdx
+++ b/www/_blog/2020-07-10-alpha-launch-postmortem.mdx
@@ -23,7 +23,7 @@ Here is everything that went wrong along the way.
Before we get into the details, here are some high-level numbers for the week following the launch.
-We had 30,000 new website visitors to [supabase.io](http://supabase.io):
+We had 30,000 new website visitors to [supabase.io](/):

@@ -51,7 +51,7 @@ We have since migrated our middleware to multiple ECS clusters, globally load-ba
### Frontend: Netlify, Vercel, Auth0
-We serve our marketing site ([supabase.io](http://supabase.io)) from Netlify. It's a static-build [Docusaurus (v2)](https://v2.docusaurus.io/) site, so it had no problems (apart from one developer in Russia who couldn't access the site - it looks like some of Netlify's IP addresses are blocked there).
+We serve our marketing site ([supabase.io](/)) from Netlify. It's a static-build [Docusaurus (v2)](https://v2.docusaurus.io/) site, so it had no problems (apart from one developer in Russia who couldn't access the site - it looks like some of Netlify's IP addresses are blocked there).
We serve our app ([app.supabase.io](http://app.supabase.io)) using Vercel, and the login system uses Auth0. These were both rock-solid. Before the launch we noticed that Vercel was extremely slow on their free plan, and once we upgraded to their Pro Plan for multi-region deploys it solved performance issues. It looks like they are changing their plans again so buyer beware.
diff --git a/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx b/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx
index 36ff7c884ae..78be2e20eaa 100644
--- a/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx
+++ b/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx
@@ -17,7 +17,7 @@ Have you ever wanted to restore your database's state to a particular moment in
## Introduction
-[WAL-G](https://github.com/wal-g/wal-g) is an [open-source continuous archiving tool](https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/) used to easily set up and recover from [physical backups](https://supabase.io/blog/2020/07/17/postgresql-physical-logical-backups) in Postgres. It mainly handles the storage and retrieval of physical backups and WAL archives to and from a chosen cloud storage provider. In this post, we will walk you through on how to effortlessly set up WAL-G for your database as well as guide you on what to do if and when disaster strikes.
+[WAL-G](https://github.com/wal-g/wal-g) is an [open-source continuous archiving tool](https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/) used to easily set up and recover from [physical backups](/blog/2020/07/17/postgresql-physical-logical-backups) in Postgres. It mainly handles the storage and retrieval of physical backups and WAL archives to and from a chosen cloud storage provider. In this post, we will walk you through on how to effortlessly set up WAL-G for your database as well as guide you on what to do if and when disaster strikes.
## Prerequisites
@@ -25,7 +25,7 @@ For this tutorial, we will be using two instances running Postgres databases on
### Installations
-Make sure the below packages are installed in your instances. Alternatively, you can spin up the [latest version](https://github.com/supabase/postgres/releases/tag/v0.13.0) of [Supabase Postgres](https://github.com/supabase/postgres) which would already have everything configured and installed, along with other [goodies](https://github.com/supabase/postgres#features). It is readily available in either the [AWS](https://aws.amazon.com/marketplace/pp/B08915TCJ2?qid=1595854723755&sr=0-1&ref_=srh_res_product_title) or [Digital Ocean](https://marketplace.digitalocean.com/apps/supabase-postgres) marketplaces and only takes [a few minutes](https://supabase.io/docs/postgres/postgres-intro) to get running.
+Make sure the below packages are installed in your instances. Alternatively, you can spin up the [latest version](https://github.com/supabase/postgres/releases/tag/v0.13.0) of [Supabase Postgres](https://github.com/supabase/postgres) which would already have everything configured and installed, along with other [goodies](https://github.com/supabase/postgres#features). It is readily available in either the [AWS](https://aws.amazon.com/marketplace/pp/B08915TCJ2?qid=1595854723755&sr=0-1&ref_=srh_res_product_title) or [Digital Ocean](https://marketplace.digitalocean.com/apps/supabase-postgres) marketplaces and only takes [a few minutes](/docs/postgres/postgres-intro) to get running.
#### Postgres 12
diff --git a/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx b/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx
index ff578c035a2..7bf68e11254 100644
--- a/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx
+++ b/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx
@@ -68,7 +68,7 @@ If you launch a new Supabase project, you'll have access to several new Postgres
We have a number of small improvements:
- Added Auth documentation to the auto-generated docs in each project
-- Added a new `or` filter [to the client library](https://supabase.io/docs/library/get#or)
+- Added a new `or` filter [to the client library](/docs/library/get#or)
- Table View now remembers which tabs you had open.
- We have [released](https://github.com/supabase/postgres-meta/releases) a lot of new functionality to [postgres-meta](https://github.com/supabase/postgres-meta), a server for for managing Postgres internals via a REST interface.
- Performance: the "flash of black" which was appearing on page transition is now gone
diff --git a/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx b/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx
index 9a9ae5f86ae..af238addda8 100644
--- a/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx
+++ b/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx
@@ -63,8 +63,8 @@ The biggest communty contribution to date, [@thorwebdev](https://twitter.com/tho
We have a number of small improvements:
- supabase-js now has [UMD support](https://github.com/supabase/supabase/pull/156)
-- We significantly [improved our docs](https://supabase.io/docs). Try out the new search!
-- All of our awesome sponsors are now listed [on our OSS page](https://supabase.io/oss).
+- We significantly [improved our docs](/docs). Try out the new search!
+- All of our awesome sponsors are now listed [on our OSS page](/oss).
### From the community
diff --git a/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx b/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx
index 49bfe53e038..2f6e4677af2 100644
--- a/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx
+++ b/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx
@@ -82,7 +82,7 @@ Supabase was given access to [GitHub Discussions](https://github.com/supabase/su
### Hacktoberfest
-There's been [plenty of drama](https://hacktoberfest.digitalocean.com/hacktoberfest-update) during Hacktoberfest, but Supabase is committed to helping new contributors get started with open source. We've already seen a lot of issues closed by new members to our community and first-time contributors. If you're looking for ways to get involved, read our Hacktoberfest [blog post](https://supabase.io/blog/2020/09/11/supabase-hacktoberfest-2020), check our our [live stream](https://www.youtube.com/watch?v=3_xRLTjvEiE&t=60s), and then dive into our [project board](https://github.com/orgs/supabase/projects/5).
+There's been [plenty of drama](https://hacktoberfest.digitalocean.com/hacktoberfest-update) during Hacktoberfest, but Supabase is committed to helping new contributors get started with open source. We've already seen a lot of issues closed by new members to our community and first-time contributors. If you're looking for ways to get involved, read our Hacktoberfest [blog post](/blog/2020/09/11/supabase-hacktoberfest-2020), check our our [live stream](https://www.youtube.com/watch?v=3_xRLTjvEiE&t=60s), and then dive into our [project board](https://github.com/orgs/supabase/projects/5).

diff --git a/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx b/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx
index ba5b169e3b6..d21afd0e84a 100644
--- a/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx
+++ b/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx
@@ -32,9 +32,9 @@ Watch a full demo:
### Supabase.js 1.0
-In the lead-up to our Beta launch, we've [released](https://supabase.io/blog/2020/10/30/improved-dx) `supabase-js` version 1.0 and it comes with some major Developer Experience improvements. We received a lot of feedback from the community and we've incorporated it into our client libraries for our 1.0 release.
+In the lead-up to our Beta launch, we've [released](/blog/2020/10/30/improved-dx) `supabase-js` version 1.0 and it comes with some major Developer Experience improvements. We received a lot of feedback from the community and we've incorporated it into our client libraries for our 1.0 release.
-Check out the [blog post](https://supabase.io/blog/2020/10/30/improved-dx) to learn more.
+Check out the [blog post](/blog/2020/10/30/improved-dx) to learn more.
### More powerful SQL Editor
@@ -56,7 +56,7 @@ One of the most requested Auth features was the ability to send magic links that
### Kaizen
-- We have new and improved [docs](https://supabase.io/docs/reference/javascript/supabase-client).
+- We have new and improved [docs](/docs/reference/javascript/supabase-client).
- We converted [realtime-js](https://github.com/supabase/realtime-js/) to TypeScript.
- Dashboard Performance: we heavily optimised our dashboard routes.
- With the help of the community, we [closed a lot of issues](https://github.com/orgs/supabase/projects/5) during Hacktoberfest.
diff --git a/www/_blog/2020-12-02-case-study-tayfa.mdx b/www/_blog/2020-12-02-case-study-tayfa.mdx
index 008abc304ed..737c8774602 100644
--- a/www/_blog/2020-12-02-case-study-tayfa.mdx
+++ b/www/_blog/2020-12-02-case-study-tayfa.mdx
@@ -13,7 +13,7 @@ tags:
date: '12-02-2020'
---
-[**TAYFA**](https://usetayfa.com) is the fastest no-code approach to create and iterate on bespoke frontends. Learn how its solo founder, [Sarup Banskota](https://twitter.com/sarupbanskota?lang=en), was able to launch quickly with [Supabase](https://supabase.io), Next.js, and Vercel.
+[**TAYFA**](https://usetayfa.com) is the fastest no-code approach to create and iterate on bespoke frontends. Learn how its solo founder, [Sarup Banskota](https://twitter.com/sarupbanskota?lang=en), was able to launch quickly with [Supabase](/), Next.js, and Vercel.
diff --git a/www/_blog/2021-01-02-supabase-beta-december-2020.mdx b/www/_blog/2021-01-02-supabase-beta-december-2020.mdx
index 9d1d1ac2820..895e2ecf399 100644
--- a/www/_blog/2021-01-02-supabase-beta-december-2020.mdx
+++ b/www/_blog/2021-01-02-supabase-beta-december-2020.mdx
@@ -31,7 +31,7 @@ Watch a full demo:
### Supabase is now in Beta
-We spent months working on Performance, Security, and Reliability. Read more on our [Beta Page](https://supabase.io/beta).
+We spent months working on Performance, Security, and Reliability. Read more on our [Beta Page](/beta).

diff --git a/www/_blog/2021-02-27-cracking-postgres-interview.mdx b/www/_blog/2021-02-27-cracking-postgres-interview.mdx
index be745c01f46..0e531d4152d 100644
--- a/www/_blog/2021-02-27-cracking-postgres-interview.mdx
+++ b/www/_blog/2021-02-27-cracking-postgres-interview.mdx
@@ -66,9 +66,9 @@ Before and after adding your index will show you the difference in approach the
## 3. VIEWs
-### Know how to create different representations of data with [VIEWs](https://supabase.io/blog/2020/11/18/postgresql-views).
+### Know how to create different representations of data with [VIEWs](/blog/2020/11/18/postgresql-views).
-We might create a VIEW `transcripts` which pulls out data from `students`, `courses`, and `grades`. It's useful for security, and logical abstractions. Check out our longer post on VIEWs here: [https://supabase.io/blog/2020/11/18/postgresql-views](https://supabase.io/blog/2020/11/18/postgresql-views). Some purists may argue that you should always query VIEWs and never TABLEs.
+We might create a VIEW `transcripts` which pulls out data from `students`, `courses`, and `grades`. It's useful for security, and logical abstractions. Check out our longer post on VIEWs here: [/blog/2020/11/18/postgresql-views](/blog/2020/11/18/postgresql-views). Some purists may argue that you should always query VIEWs and never TABLEs.
### Know about Autoupdatable views.
@@ -109,7 +109,7 @@ CREATE POLICY "Individuals can only write their own messages." ON messages FOR
### Know how to do business logic on SQL/[PLPGSQL](https://www.postgresql.org/docs/current/plpgsql-overview.html#PLPGSQL-ADVANTAGES)
-PL/pgSQL is a procedural programming language that can be used to write functions inside of your database. It can be useful for making [remote procedure calls](https://supabase.io/docs/reference/javascript/rpc) from an API. You can go as deep as you want here, since it's an entire programming language, but understanding the basics will really go a long way, and give you super powers when working with your data.
+PL/pgSQL is a procedural programming language that can be used to write functions inside of your database. It can be useful for making [remote procedure calls](/docs/reference/javascript/rpc) from an API. You can go as deep as you want here, since it's an entire programming language, but understanding the basics will really go a long way, and give you super powers when working with your data.
You can use FUNCTIONs in combination with TRIGGERs to do cool stuff like have auto-updating `updated_at` columns on your data:
diff --git a/www/_blog/2021-03-02-supabase-beta-february-2021.mdx b/www/_blog/2021-03-02-supabase-beta-february-2021.mdx
index 56ec6029e6d..552087db1a1 100644
--- a/www/_blog/2021-03-02-supabase-beta-february-2021.mdx
+++ b/www/_blog/2021-03-02-supabase-beta-february-2021.mdx
@@ -46,7 +46,7 @@ Writing SQL just got 10x easier. We added autocomplete to the SQL editor, includ
### Auth Redirects
-Redirect your users to specific route within your site on [`signIn()`](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-with-redirect) and [`signUp()`](https://supabase.io/docs/reference/javascript/auth-signup#sign-up-with-redirect).
+Redirect your users to specific route within your site on [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-with-redirect) and [`signUp()`](/docs/reference/javascript/auth-signup#sign-up-with-redirect).

@@ -58,7 +58,7 @@ We added a page to the Database section for managing Postgres Replication. It's
### Learning Resources
-We've released a new [Resources](https://supabase.io/docs/resources) section in our docs, as well as two new Auth modules: [GoTrue Overview](https://supabase.io/docs/learn/auth-deep-dive/auth-gotrue) and [Google OAuth](https://supabase.io/docs/learn/auth-deep-dive/auth-google-oauth).
+We've released a new [Resources](/docs/resources) section in our docs, as well as two new Auth modules: [GoTrue Overview](/docs/learn/auth-deep-dive/auth-gotrue) and [Google OAuth](/docs/learn/auth-deep-dive/auth-google-oauth).

@@ -70,7 +70,7 @@ Launch your database in South Africa.
### Kaizen
-- We filled up our [Examples](https://supabase.io/docs/guides/examples) page with a lot of new content.
+- We filled up our [Examples](/docs/guides/examples) page with a lot of new content.
- We released a [Docker Compose](https://github.com/supabase/supabase/blob/master/docker/docker-compose.yml) file for running Supabase locally. This will be used in our upcoming CLI.
- We have a couple of pending RFCs which you may want to participate in:
- [Planning our CLI and Local Development](https://github.com/supabase/cli/pull/2)
diff --git a/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx b/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx
index 411f23046a9..03a24fd5a8d 100644
--- a/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx
+++ b/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx
@@ -186,7 +186,7 @@ select cron.unschedule('webhook-every-minute'); -- pass the name of the cron job
There are plenty use-cases for this. For example:
- **Sending welcome emails.** If you use an email provider with an HTTP API, then you batch emails to that service. Write a function that `selects` all your signups yesterday, then sends them to your favorite transactional email service. Schedule it every day to run at midnight.
-- **Aggregating data.** If you're providing analytical data, you might want to aggregate it into time periods for faster querying (which serves a similar purpose as a [Materialized View](https://supabase.io/blog/2020/11/18/postgresql-views#materialized-views-vs-conventional-views)).
+- **Aggregating data.** If you're providing analytical data, you might want to aggregate it into time periods for faster querying (which serves a similar purpose as a [Materialized View](/blog/2020/11/18/postgresql-views#materialized-views-vs-conventional-views)).
- **Deleting old data.** Need to free up space? Run a scheduled job to delete data you no longer need.
See a detailed list in the [`pg_cron` README](https://github.com/citusdata/pg_cron#example-use-cases).
diff --git a/www/_blog/2021-03-11-using-supabase-replit.mdx b/www/_blog/2021-03-11-using-supabase-replit.mdx
index 6fe1c3287eb..a23e2c4506f 100644
--- a/www/_blog/2021-03-11-using-supabase-replit.mdx
+++ b/www/_blog/2021-03-11-using-supabase-replit.mdx
@@ -91,7 +91,7 @@ const main = async() => {
main()
```
-Once this is working, if you want to learn more about the [query interface](https://supabase.io/docs/reference/javascript/filter) you might want to try some of these challenges:
+Once this is working, if you want to learn more about the [query interface](/docs/reference/javascript/filter) you might want to try some of these challenges:
```jsx
// 1. List all the countries in Antarctica
@@ -125,7 +125,7 @@ const { data, error } = await supabase
.select('name, country_id')
.neq('name', 'The shire')
-// full docs here: https://supabase.io/docs/reference/javascript/filter
+// full docs here: /docs/reference/javascript/filter
```
We look forward to showing off some more Supabase + Replit examples.
diff --git a/www/_blog/2021-03-25-launch-week.mdx b/www/_blog/2021-03-25-launch-week.mdx
index a42ac7e8aa0..062ff053e60 100644
--- a/www/_blog/2021-03-25-launch-week.mdx
+++ b/www/_blog/2021-03-25-launch-week.mdx
@@ -21,7 +21,7 @@ Demo Day gave our team something to rally around. The looming deadline forced us
After we finished YC, we recreated Demo Day conditions internally: we gave ourselves a 3-month timeline to move from Alpha to Beta.
-It worked wonders. We made [giant leaps forward](https://supabase.io/beta) in the performance, security, and
+It worked wonders. We made [giant leaps forward](/beta) in the performance, security, and
stability of the platform.
The day after our Beta announcement (still high on the adrenaline of the launch) we asked ourselves:
@@ -43,9 +43,9 @@ or follow us on twitter to keep up to date: [@supabase](https://twitter.com/supa
- 29 March 2021
-We're announcing pricing today. If you don’t care for the details, [here is the pricing](https://supabase.io/pricing).
+We're announcing pricing today. If you don’t care for the details, [here is the pricing](/pricing).
-The [blog post here](https://supabase.io/blog/2021/03/29/pricing) goes into depth around our decision-making process.
+The [blog post here](/blog/2021/03/29/pricing) goes into depth around our decision-making process.
The key takeaway is that we will stick with (what we feel is) a generous free tier. This was critical for many of our users who are still in the “build” phase of their project/business.
@@ -65,7 +65,7 @@ If you aren’t confident in our business model though, we’re open source. You
- 30 March 2021
-Checkout the launch post here: [Supabase Storage](https://supabase.io/blog/2021/03/30/supabase-storage)
+Checkout the launch post here: [Supabase Storage](/blog/2021/03/30/supabase-storage)
As with anything that we build in Supabase, Storage is fast, secure and scalable. It's integrated well with the rest of the Supabase ecosystem.
@@ -87,7 +87,7 @@ You can use storage for your terabytes of ML training data, e-commerce product g
- 31 March 2021
-Today is Day 3 of [Launch Week](https://supabase.io/blog/2021/03/25/launch-week), and as promised - we're releasing our CLI.
+Today is Day 3 of [Launch Week](/blog/2021/03/25/launch-week), and as promised - we're releasing our CLI.
Today we launched the Supabase CLI which includes:
@@ -95,7 +95,7 @@ Today we launched the Supabase CLI which includes:
- Managing database migrations
- Self hosting with Docker!
-Check out the announcement post here: [https://supabase.io/blog/2021/03/31/supabase-cli](https://supabase.io/blog/2021/03/31/supabase-cli)
+Check out the announcement post here: [/blog/2021/03/31/supabase-cli](/blog/2021/03/31/supabase-cli)

@@ -119,10 +119,10 @@ Check out the demo and documentation website directly here: [ui.supabase.io](htt
It's the season finale of Supabase Launchweek! And we have THREE more things to share:
-1. [Connection Pooling with PgBouncer](https://supabase.io/blog/2021/04/02/supabase-pgbouncer) - now you can connect directly to your Postgres instance without needing to worry that you'll cap out on connections. Perfect for use with Prisma.
+1. [Connection Pooling with PgBouncer](/blog/2021/04/02/supabase-pgbouncer) - now you can connect directly to your Postgres instance without needing to worry that you'll cap out on connections. Perfect for use with Prisma.
-2. [Workflow Engine](https://supabase.io/blog/2021/04/02/supabase-workflows) - Our WIP states language will eventually enable a drag and drop workflow builder like Zapier inside the dashboard. Built with Elixir for scale!
+2. [Workflow Engine](/blog/2021/04/02/supabase-workflows) - Our WIP states language will eventually enable a drag and drop workflow builder like Zapier inside the dashboard. Built with Elixir for scale!
-3. supabase.io is now supabase.com - check out our origin story here: [https://supabase.io/blog/2021/04/02/supabase-dot-com](https://supabase.io/blog/2021/04/02/supabase-dot-com)
+3. supabase.io is now supabase.com - check out our origin story here: [/blog/2021/04/02/supabase-dot-com](/blog/2021/04/02/supabase-dot-com)

diff --git a/www/_blog/2021-03-29-pricing.mdx b/www/_blog/2021-03-29-pricing.mdx
index b3ebf1127d1..a291cdcfa60 100644
--- a/www/_blog/2021-03-29-pricing.mdx
+++ b/www/_blog/2021-03-29-pricing.mdx
@@ -11,7 +11,7 @@ date: '03-29-2021'
## Pricing is hard
-Many developers have been waiting for [pricing](https://supabase.io/pricing) before building on Supabase. It has taken this long to announce pricing for one simple reason: pricing is hard. We've spent countless hours discussing and testing different models. We consulted users, OSS veterans, and SaaS Gurus. We explored and ruled out a number of options including: no free tier, pure usage based, pay-per-seat, pay-per-row, and "bolt-on" feature based pricing.
+Many developers have been waiting for [pricing](/pricing) before building on Supabase. It has taken this long to announce pricing for one simple reason: pricing is hard. We've spent countless hours discussing and testing different models. We consulted users, OSS veterans, and SaaS Gurus. We explored and ruled out a number of options including: no free tier, pure usage based, pay-per-seat, pay-per-row, and "bolt-on" feature based pricing.
Supabase is a suite of integrated products - should we compare our Postgres databases with Amazon RDS? Do we benchmark our Auth pricing against Auth0 or Okta?
@@ -19,7 +19,7 @@ So we decided to do what we always do: ship it, share it, and then listen to our
## TLDR
-We are launching [pricing](https://supabase.io/pricing) with three tiers:
+We are launching [pricing](/pricing) with three tiers:
1. Free - for up to four hobby-level projects
2. Pro - $25 per project per month, for more serious projects
@@ -75,10 +75,10 @@ What does this mean for you as a developer?
In the next few days, you will see your usage appear in the dashboard with an upgrade button.
-Check back throughout the week to see what else we're launching [here](https://supabase.io/blog/2021/03/25/launch-week).
+Check back throughout the week to see what else we're launching [here](/blog/2021/03/25/launch-week).
Sign up for the Supabase Beta [here](https://app.supabase.io).
-And check out the full pricing details [here](https://supabase.io/pricing). And we'd love to hear your opnions on our Pricing! You can let us know via support@supabase.io.
+And check out the full pricing details [here](/pricing). And we'd love to hear your opnions on our Pricing! You can let us know via support@supabase.io.
[^1]: Updated on Aug 17 2021 for clarity: the referenced Launch Week ended on the 4th of April 2021. Users that signed up prior to that date can request credits.
diff --git a/www/_blog/2021-03-30-supabase-storage.mdx b/www/_blog/2021-03-30-supabase-storage.mdx
index dc7b1702a09..ad626f706aa 100644
--- a/www/_blog/2021-03-30-supabase-storage.mdx
+++ b/www/_blog/2021-03-30-supabase-storage.mdx
@@ -56,7 +56,7 @@ We focused on performance, security and interoperability with the rest of the Su
### **Integration with the Supabase ecosystem**
-Supabase is a [collection of open source tools](https://supabase.io/docs#how-it-works) which integrate very well with each other. We evaluated open source object storage servers like [Ceph](https://ceph.io/), [Swift](https://www.openstack.org/software/releases/ocata/components/swift), [Minio](https://min.io/) and [Zenko](https://github.com/scality/Zenko) but none of these tools were a good fit for our existing ecosystem.
+Supabase is a [collection of open source tools](/docs#how-it-works) which integrate very well with each other. We evaluated open source object storage servers like [Ceph](https://ceph.io/), [Swift](https://www.openstack.org/software/releases/ocata/components/swift), [Minio](https://min.io/) and [Zenko](https://github.com/scality/Zenko) but none of these tools were a good fit for our existing ecosystem.
**Postgres Compatibility**
@@ -70,7 +70,7 @@ We are using managed services like [S3](https://aws.amazon.com/s3/), [Wasabi](ht
**Integration with Supabase Auth**
-Existing tools do not play well with our authentication system. For example, Minio is bundled with its own [auth system](https://docs.min.io/docs/minio-admin-complete-guide.html#user) and there is no easy way to map Minio users to [Supabase users](https://supabase.io/docs/guides/auth).
+Existing tools do not play well with our authentication system. For example, Minio is bundled with its own [auth system](https://docs.min.io/docs/minio-admin-complete-guide.html#user) and there is no easy way to map Minio users to [Supabase users](/docs/guides/auth).
In the end, we opted to build our own [Storage API server](https://github.com/supabase/storage-api).
@@ -113,7 +113,7 @@ on storage.objects for select using (
We have created helper functions like `foldername()`, `filename()` and `extension()` in the storage schema to make Policies even simpler.
-This system integrates with our [User Management system](https://supabase.io/docs/guides/auth). Here is an example policy which gives access to a particular file to a Supabase user:
+This system integrates with our [User Management system](/docs/guides/auth). Here is an example policy which gives access to a particular file to a Supabase user:
```sql
create policy crud_uid_file
@@ -146,7 +146,7 @@ We have intentionally kept the API surface for the storage backend very small, i
### Client libraries
-You may be itching to get started tinkering around with our new Supabase storage - we have an example app prepared for you right [here](https://github.com/supabase/supabase-js/tree/master/example/next-storage) which simulates a simple context of setting an avatar image for a user. This will help you to get a high level overview of how to use your project's storage with our client library. For greater detail, refer to our storage API documentation [here](https://supabase.io/docs/reference/javascript/storage-createbucket).
+You may be itching to get started tinkering around with our new Supabase storage - we have an example app prepared for you right [here](https://github.com/supabase/supabase-js/tree/master/example/next-storage) which simulates a simple context of setting an avatar image for a user. This will help you to get a high level overview of how to use your project's storage with our client library. For greater detail, refer to our storage API documentation [here](/docs/reference/javascript/storage-createbucket).

@@ -158,6 +158,6 @@ You may be itching to get started tinkering around with our new Supabase storage
- We will integrate our storage service with a Content Delivery Network. With a CDN, objects are cached on a global network. This leads to faster access times for your users around the world.
- We are working on transformations like resizing of images and automatic optimization of different media types. This makes it easy to embed Supabase objects directly in your websites and mobile applications without additional processing.
- A better editor to make authoring policies easier and less error prone.
-- Reach out to us if you would like to help out with adding storage support in one of the [community maintained client libraries](https://supabase.io/docs/reference/javascript/supabase-client).
+- Reach out to us if you would like to help out with adding storage support in one of the [community maintained client libraries](/docs/reference/javascript/supabase-client).
Take it for a spin on our [dashboard](http://app.supabase.io/) and let us know what you think!
diff --git a/www/_blog/2021-03-31-supabase-cli.mdx b/www/_blog/2021-03-31-supabase-cli.mdx
index d62a0896300..b899d83558b 100644
--- a/www/_blog/2021-03-31-supabase-cli.mdx
+++ b/www/_blog/2021-03-31-supabase-cli.mdx
@@ -10,9 +10,9 @@ tags:
date: '03-31-2021'
---
-**UPDATE:** The Node.js CLI is now obsolete. Follow the latest instructions [here](https://supabase.io/docs/guides/local-development).
+**UPDATE:** The Node.js CLI is now obsolete. Follow the latest instructions [here](/docs/guides/local-development).
-Today is Day 3 of [Launch Week](https://supabase.io/blog/2021/03/25/launch-week), and as promised - we're releasing our CLI.
+Today is Day 3 of [Launch Week](/blog/2021/03/25/launch-week), and as promised - we're releasing our CLI.
This is the first step in a long journey of features we plan to deliver:
@@ -29,7 +29,7 @@ Here are some of the items we have completed so far.
You can now run Supabase on your local machine, using Docker Compose. This Docker setup is 100% compatible with every project on Supabase - the tools used for local development are exactly the same as production.
-We have released a full set of documentation [here](https://supabase.io/docs/guides/local-development). In this post we thought it would be useful to highlight how easy it is to get started.
+We have released a full set of documentation [here](/docs/guides/local-development). In this post we thought it would be useful to highlight how easy it is to get started.
A lot of Supabase developers are familiar with React, so here are the steps you would use to create a new React project which uses Supabase as a backend.
@@ -220,8 +220,8 @@ Once you're all set, you can start the stack by running:
docker-compose up
```
-Head over to the [Self Hosting Docs](https://supabase.io/docs/guides/self-hosting) for a more complete walk through, it also includes several [one-click deploys](https://supabase.io/docs/guides/self-hosting#one-click-deploys), so you can easily deploy into your own cloud hosting provider.
+Head over to the [Self Hosting Docs](/docs/guides/self-hosting) for a more complete walk through, it also includes several [one-click deploys](/docs/guides/self-hosting#one-click-deploys), so you can easily deploy into your own cloud hosting provider.
If you require any assistance feel free to reach out in our [github discussions](https://github.com/supabase/supabase/discussions) or at support@supabase.io.
-Check out what else we've [launched this week](https://supabase.io/blog/2021/03/25/launch-week), contribute to the [CLI repo](https://github.com/supabase/cli), or go here for the [hosted version](https://app.supabase.io).
+Check out what else we've [launched this week](/blog/2021/03/25/launch-week), contribute to the [CLI repo](https://github.com/supabase/cli), or go here for the [hosted version](https://app.supabase.io).
diff --git a/www/_blog/2021-04-01-supabase-nft-marketplace.mdx b/www/_blog/2021-04-01-supabase-nft-marketplace.mdx
index e87fc91d90e..f3719b8c23f 100644
--- a/www/_blog/2021-04-01-supabase-nft-marketplace.mdx
+++ b/www/_blog/2021-04-01-supabase-nft-marketplace.mdx
@@ -36,4 +36,4 @@ When a sale is initiated i.e. the seller accepts a buyers offer, Metamask re-enc
As a way to dis-incentivise previous owners of the image to not reveal the original image, we bake in a royalty mechanism, whereby previous owners receive a fraction of the sale price each time, the artwork changes hands.
-Despite the undeniable value of such a platform, this announcement is of course an April Fools joke. We are not launching a Supabase NFT platform; but we are [Launching a TON of other stuff this week](https://supabase.io/blog/2021/03/25/launch-week).
+Despite the undeniable value of such a platform, this announcement is of course an April Fools joke. We are not launching a Supabase NFT platform; but we are [Launching a TON of other stuff this week](/blog/2021/03/25/launch-week).
diff --git a/www/_blog/2021-04-02-supabase-dot-com.mdx b/www/_blog/2021-04-02-supabase-dot-com.mdx
index 57fbe7d9d6a..0788731e8c5 100644
--- a/www/_blog/2021-04-02-supabase-dot-com.mdx
+++ b/www/_blog/2021-04-02-supabase-dot-com.mdx
@@ -31,7 +31,7 @@ The company we envisaged had Postgres at the core. We searched for every "dot co
superbase, suprabase, uberbase. It turns out this is what every database start does. We couldn't find any good "dot coms".
And so we moved on to "dot io" domains.
-Anybody who knows Ant, knows that he [loves memes](https://supabase.io/blog/2021/03/25/launch-week). While we were brainstorming
+Anybody who knows Ant, knows that he [loves memes](/blog/2021/03/25/launch-week). While we were brainstorming
we found that "supabase.io" was available.
To be honest, this name wasn't a strong contender, but it served a very important purpose - it was extremely "meme-able" because
diff --git a/www/_blog/2021-04-02-supabase-workflows.mdx b/www/_blog/2021-04-02-supabase-workflows.mdx
index 668ec29fab7..c6e71326c9d 100644
--- a/www/_blog/2021-04-02-supabase-workflows.mdx
+++ b/www/_blog/2021-04-02-supabase-workflows.mdx
@@ -14,7 +14,7 @@ tags:
date: '2021-04-02'
---
-This week we [launched Supabase Storage](https://supabase.io/blog/2021/03/30/supabase-storage), which leaves one other huge piece of the
+This week we [launched Supabase Storage](/blog/2021/03/30/supabase-storage), which leaves one other huge piece of the
stack that everyone is asking for: Functions.
## TLDR
@@ -41,10 +41,10 @@ this yourself, probably using a cron-job.
## A better solution?
We searched for some open source tools which we think are solving this problem well. We looked at
-[NodeRed](https://supabase.io/blog/2021/03/30/supabase-storage#designing-the-storage-middleware), [n8n](https://n8n.io/),
+[NodeRed](/blog/2021/03/30/supabase-storage#designing-the-storage-middleware), [n8n](https://n8n.io/),
[Airflow](http://airflow.apache.org/blog/airflow-two-point-oh-is-here/), and about 10 other tools. They are amazing tools on their
own, but for the Supabase Stack they ultimately had the
-[same shortcomings](https://supabase.io/blog/2021/03/30/supabase-storage#integration-with-the-supabase-ecosystem) that we found
+[same shortcomings](/blog/2021/03/30/supabase-storage#integration-with-the-supabase-ecosystem) that we found
with Storage providers - most of them lacked deep Postgres integration.
We went back to the drawing board and asked, "if we could wave a wand and get the perfect solution, what would it look like?".
diff --git a/www/_blog/2021-04-06-supabase-beta-march-2021.mdx b/www/_blog/2021-04-06-supabase-beta-march-2021.mdx
index 6eaeed7d13d..a49e36a9cbd 100644
--- a/www/_blog/2021-04-06-supabase-beta-march-2021.mdx
+++ b/www/_blog/2021-04-06-supabase-beta-march-2021.mdx
@@ -30,13 +30,13 @@ Watch a full demo:
## Supabase Storage
-Need to store images, audio, and video clips? Well now you can do it on [Supabase Storage](https://supabase.io/blog/2021/03/30/supabase-storage). It's backed by S3 and our new [OSS storage API](https://github.com/supabase/storage-api) written in Fastify and Typescript. Read the [full blog post](https://supabase.io/blog/2021/03/30/supabase-storage).
+Need to store images, audio, and video clips? Well now you can do it on [Supabase Storage](/blog/2021/03/30/supabase-storage). It's backed by S3 and our new [OSS storage API](https://github.com/supabase/storage-api) written in Fastify and Typescript. Read the [full blog post](/blog/2021/03/30/supabase-storage).

## Connection Pooling
-The Supabase API already handles Connection Pooling, but if you're connecting to your database directly (for example, with Prisma) we now [bundle PgBouncer](https://supabase.io/blog/2021/04/02/supabase-pgbouncer). Read the [full blog post](https://supabase.io/blog/2021/04/02/supabase-pgbouncer).
+The Supabase API already handles Connection Pooling, but if you're connecting to your database directly (for example, with Prisma) we now [bundle PgBouncer](/blog/2021/04/02/supabase-pgbouncer). Read the [full blog post](/blog/2021/04/02/supabase-pgbouncer).

@@ -48,7 +48,7 @@ We open sourced our internal UI component library, so that anyone can use and co
## CLI
-Now you can run Supabase locally in the terminal with `supabase start`. We have done some preliminary work on [diff-based schema migrations](https://supabase.io/blog/2021/03/31/supabase-cli#migrations), and added some new tooling for self-hosting Supabase with Docker. [Blog post here](https://supabase.io/blog/2021/03/31/supabase-cli).
+Now you can run Supabase locally in the terminal with `supabase start`. We have done some preliminary work on [diff-based schema migrations](/blog/2021/03/31/supabase-cli#migrations), and added some new tooling for self-hosting Supabase with Docker. [Blog post here](/blog/2021/03/31/supabase-cli).

@@ -56,34 +56,34 @@ Now you can run Supabase locally in the terminal with `supabase start`. We hav
Our most frequently asked question by far is "ok supabase is sweet, but how much is it going to cost?". TL;DR there's **Free Tier** up to 500mb + 10k auth users, a **Pro** **Tier** at $25/month for 8GB + 100k auth users, and anything additional is charged on a usage basis.
-See [Pricing Page](https://supabase.io/pricing) for full details and also our blog on why [pricing is hard](https://supabase.io/blog/2021/03/29/pricing).
+See [Pricing Page](/pricing) for full details and also our blog on why [pricing is hard](/blog/2021/03/29/pricing).

## NFT Platform
-Well... not really, but it made for a great [April Fools joke](https://supabase.io/blog/2021/04/01/supabase-nft-marketplace).
+Well... not really, but it made for a great [April Fools joke](/blog/2021/04/01/supabase-nft-marketplace).

## Supabase Dot Com
-We are now dot com! We'll be porting across over the next few weeks. Read the origin story behind the name [here](https://supabase.io/blog/2021/04/02/supabase-dot-com).
+We are now dot com! We'll be porting across over the next few weeks. Read the origin story behind the name [here](/blog/2021/04/02/supabase-dot-com).

## OAuth Scopes
-Thanks to a comunity contribution ([@\_mateomorris](https://twitter.com/_mateomorris) and [@Beamanator](https://twitter.com/Beamanator)), Supabase Auth now includes OAuth scopes. These allow you to request elevated access during login. For example, you may want to request access to a list of Repositories when users log in with GitHub. Check out the [Documentation](https://supabase.io/docs/reference/javascript/auth-signup#sign-up-with-scopes).
+Thanks to a comunity contribution ([@\_mateomorris](https://twitter.com/_mateomorris) and [@Beamanator](https://twitter.com/Beamanator)), Supabase Auth now includes OAuth scopes. These allow you to request elevated access during login. For example, you may want to request access to a list of Repositories when users log in with GitHub. Check out the [Documentation](/docs/reference/javascript/auth-signup#sign-up-with-scopes).

## Kaizen
- You can now manage your PostgREST configuration inside the Dashboard.
-- Our website has been redesigned. Check out our new [Homepage](https://supabase.io/) and [Blog](https://supabase.io/blog), and our new [Database](https://supabase.io/database), [Auth](https://supabase.io/auth), and [Storage](https://supabase.io/storage) product pages.
-- We refactored some of our Filter methods to make them even easier to use. Check out the [Full Text Search](https://supabase.io/docs/reference/javascript/textsearch) refactor.
-- We have added several new sections to our Docs including: [Local Dev](https://supabase.io/docs/guides/local-development), [Self Hosting](https://supabase.io/docs/guides/self-hosting), and [Postgres Reference](https://supabase.io/docs/reference/postgres/getting-started) docs (all still under development).
+- Our website has been redesigned. Check out our new [Homepage](/) and [Blog](/blog), and our new [Database](/database), [Auth](/auth), and [Storage](/storage) product pages.
+- We refactored some of our Filter methods to make them even easier to use. Check out the [Full Text Search](/docs/reference/javascript/textsearch) refactor.
+- We have added several new sections to our Docs including: [Local Dev](/docs/guides/local-development), [Self Hosting](/docs/guides/self-hosting), and [Postgres Reference](/docs/reference/postgres/getting-started) docs (all still under development).
## Community
@@ -109,7 +109,7 @@ If you want to keep up to date, make sure you [subscribe to our YouTube channel]
Lets say for each new sign up, you want to trigger a slack alert, send them an email after 24 hours.
-For this we are working on our own [Workflow engine](https://supabase.io/blog/2021/04/02/supabase-workflows), it will eventually have a Zapier-like interface inside the dashboard. For now it's a state-machine interpreter (fully compatible with Amazon States Language) written in Elixir, [open source](https://github.com/supabase/workflows), and ready for community contributions.
+For this we are working on our own [Workflow engine](/blog/2021/04/02/supabase-workflows), it will eventually have a Zapier-like interface inside the dashboard. For now it's a state-machine interpreter (fully compatible with Amazon States Language) written in Elixir, [open source](https://github.com/supabase/workflows), and ready for community contributions.

diff --git a/www/_blog/2021-05-03-supabase-beta-april-2021.mdx b/www/_blog/2021-05-03-supabase-beta-april-2021.mdx
index bcd9dfd3cf4..63fda33dafc 100644
--- a/www/_blog/2021-05-03-supabase-beta-april-2021.mdx
+++ b/www/_blog/2021-05-03-supabase-beta-april-2021.mdx
@@ -86,7 +86,7 @@ which provide a more general solution (but are less "realtime"), and we're openi
## Community spotlight: Threaded comments
-One of the most powerful Postgres features is "recursive CTEs" which can be used for nested items (comments, pages, friend-graphs). [@lawrencecchen](https://twitter.com/lawrencecchen) has built a full [Threaded Comments demo](https://github.com/lawrencecchen/threaded-comments) which you can [Deploy with a single click](https://github.com/lawrencecchen/threaded-comments#instant-deploy). Want to add comments to your blog with [Full Text Search](https://supabase.io/docs/reference/javascript/textsearch)? Just use Postgres.
+One of the most powerful Postgres features is "recursive CTEs" which can be used for nested items (comments, pages, friend-graphs). [@lawrencecchen](https://twitter.com/lawrencecchen) has built a full [Threaded Comments demo](https://github.com/lawrencecchen/threaded-comments) which you can [Deploy with a single click](https://github.com/lawrencecchen/threaded-comments#instant-deploy). Want to add comments to your blog with [Full Text Search](/docs/reference/javascript/textsearch)? Just use Postgres.
Policies can be written in SQL or using the dashboard online.