-| 代码存储库 | 官方 | 社区 |
-| --------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **`supabase-{lang}`** | [`JS`](https://github.com/supabase/supabase-js) | [`C#`](https://github.com/supabase/supabase-csharp) \| [`Dart`](https://github.com/supabase/supabase-dart) \| [`Python`](https://github.com/supabase/supabase-py) \| `Rust` \| [`Ruby`](https://github.com/supabase/supabase-rb) \| `Go` |
-| `postgrest-{lang}` | [`JS`](https://github.com/supabase/postgrest-js) | [`C#`](https://github.com/supabase/postgrest-csharp) \| [`Dart`](https://github.com/supabase/postgrest-dart) \| [`Python`](https://github.com/supabase/postgrest-py) \| [`Rust`](https://github.com/supabase/postgrest-rs) \| [`Ruby`](https://github.com/supabase/postgrest-rb) \| [`Go`](https://github.com/supabase/postgrest-go) |
-| `realtime-{lang}` | [`JS`](https://github.com/supabase/realtime-js) | [`C#`](https://github.com/supabase/realtime-csharp) \| [`Dart`](https://github.com/supabase/realtime-dart) \| [`Python`](https://github.com/supabase/realtime-py) \| `Rust` \| `Ruby` \| `Go` |
-| `gotrue-{lang}` | [`JS`](https://github.com/supabase/gotrue-js) | [`C#`](https://github.com/supabase/gotrue-csharp) \| [`Dart`](https://github.com/supabase/gotrue-dart) \| [`Python`](https://github.com/supabase/gotrue-py) \| `Rust` \| `Ruby` \| `Go` |
## 翻译
diff --git a/studio/README.md b/studio/README.md
index c715d68c7b9..c2dfac57130 100644
--- a/studio/README.md
+++ b/studio/README.md
@@ -38,7 +38,7 @@ Project settings are managed outside of the Dashboard. If you use docker-compose
## Running within a self-hosted environment
-Firstly, follow the guide [here](https://www.notion.so/supabase/'%3Chttps://supabase.com/docs/guides/hosting/docker%3E') to get started with self-hosted Supabase.
+Firstly, follow the guide [here](https://supabase.com/docs/guides/hosting/docker) to get started with self-hosted Supabase.
```
cd ..
diff --git a/studio/pages/README.md b/studio/pages/README.md
index f0506228140..32423b193de 100644
--- a/studio/pages/README.md
+++ b/studio/pages/README.md
@@ -7,7 +7,7 @@
## Template for building pages
-```ts
+```tsx
import { NextPage } from 'next'
import { observer } from 'mobx-react-lite'
diff --git a/web/docs/guides/integrations/draftbit.mdx b/web/docs/guides/integrations/draftbit.mdx
index a0867a6b920..2c508d43e80 100644
--- a/web/docs/guides/integrations/draftbit.mdx
+++ b/web/docs/guides/integrations/draftbit.mdx
@@ -65,7 +65,7 @@ In your Draftbit builder interface:
In this section, let's populate a Fetch component with all the data from a simple Supabase and then display the data fetched from the Supabase data table in a List component.
-For a reference, here is a how the Components tree looks like for this screen:
+For reference, here is a how the Components tree looks like for this screen:

@@ -158,7 +158,7 @@ In Draftbit, using a Touchable or a Button component, you can trigger the action
Now, there is a working `POST` request in Draftbit. Map its response to the components on your screen in Draftbit.
-First, for each input component, make sure you have set the Field Names (found in the Configs tab, second from the left) to unique values. For example, in the screen below, there is one TextInput field component with the the value of the `Field Name` prop of `textInputValue`.
+First, for each input component, make sure you have set the Field Names (found in the Configs tab, second from the left) to unique values. For example, in the screen below, there is one TextInput field component with the value of the `Field Name` prop of `textInputValue`.

diff --git a/web/docs/guides/integrations/vercel.mdx b/web/docs/guides/integrations/vercel.mdx
index d3da240fe4c..5f66c79ce03 100644
--- a/web/docs/guides/integrations/vercel.mdx
+++ b/web/docs/guides/integrations/vercel.mdx
@@ -135,7 +135,7 @@ npx vercel login
This will ask if we are happy to install `vercel`. Type `y` and hit `Enter`.
-We will the need to authenticate Vercel by selecting `Continue with GitHub`.
+We will then need to authenticate Vercel by selecting `Continue with GitHub`.
This will open a browser window where you need to authenticate with your GitHub account.
diff --git a/web/docs/guides/local-development.mdx b/web/docs/guides/local-development.mdx
index 82004236935..7c10f14233e 100644
--- a/web/docs/guides/local-development.mdx
+++ b/web/docs/guides/local-development.mdx
@@ -12,6 +12,7 @@ Supabase provides a CLI so that you can develop your application locally, rather
## Prerequisites
You will need to have these in your environment:
+
- Git
- Docker (make sure the daemon is up and running)
- Supabase CLI (instructions [here](https://github.com/supabase/cli))
@@ -44,7 +45,6 @@ service_role key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb
#### Accessing Services Directly
-
-
## Example application
-Now that we've learned how to install and start Supabase locally, let's see how you can use it with a frontend application.
+Now that we've learned how to install and start Supabase locally, let's see how you can use it with a frontend application.
This quick-start guide will show you, how you can configure a React app which uses the Supabase stack.
```bash
@@ -107,8 +105,8 @@ npx create-react-app react-demo --use-npm
# move into the new folder
cd react-demo
-# set up Supabase
-supabase init
+# set up Supabase
+supabase init
# Save the install supabase-js library
npm install --save @supabase/supabase-js
@@ -145,7 +143,7 @@ When you're finished with Supabase, send Ctrl-C to stop the Docker se
## Migrations
-You can also use the CLI to manage your migrations. Follow the the tour [here](https://github.com/supabase/cli/tree/main/examples/tour) to get started.
+You can also use the CLI to manage your migrations. Follow the tour [here](https://github.com/supabase/cli/tree/main/examples/tour) to get started.
## Next steps
diff --git a/www/_blog/2021-11-29-community-day.mdx b/www/_blog/2021-11-29-community-day.mdx
index 4951fe82a4d..78fa60a3680 100644
--- a/www/_blog/2021-11-29-community-day.mdx
+++ b/www/_blog/2021-11-29-community-day.mdx
@@ -91,9 +91,9 @@ Among many other awesome things, the SupaSquad has been absolutely on fire build
- New maintainers [`@Dreinon`](https://github.com/dreinon), [`@anand2312`](https://github.com/anand2312), and [`@leynier`](https://github.com/leynier). 💚
- `gotrue-py` rewritten and now at feature parity with `gotrue-js`.
-- Postgrest-py now support synchronous operations as well instead of just synchronous operations in the past. Also at feature-parity with postgrest-js.
-- Supabase-py is now Supabase (e.g. you do `pip3 install supabase` instead of `pip3 install supabase-py`).
-- Storage is working for the py client library but it's yet to be extracted out as a standalone lib.
+- `postgrest-py` now support synchronous operations as well instead of just asynchronous operations in the past. Also at feature parity with `postgrest-js`.
+- `supabase-py` is now `supabase` (e.g. you do `pip3 install supabase` instead of `pip3 install supabase-py`).
+- Storage is working for the Python client library but it's yet to be extracted out as a standalone lib.
## New tutorials and integration guides
diff --git a/www/_blog/2021-11-30-supabase-studio.mdx b/www/_blog/2021-11-30-supabase-studio.mdx
index 220ec330948..9fbd05d62c5 100644
--- a/www/_blog/2021-11-30-supabase-studio.mdx
+++ b/www/_blog/2021-11-30-supabase-studio.mdx
@@ -24,9 +24,9 @@ and [Self-Hosting](https://supabase.com/docs/guides/hosting/overview).
Let's get the obvious question out of the way - why wasn't it already open source?
When Ant and I started Supabase the codebase was one large monorepo which contained everything from the dashboard to cloud infrastructure code to experimental code.
-This is our our preferred development setup - we like to keep all code in one place so that we have a single source of truth and tightly coupled CI workflows.
+This is our preferred development setup - we like to keep all code in one place so that we have a single source of truth and tightly coupled CI workflows.
-The original Dashboard really wasn't much except a couple of button which allowed our Alpha users to start and stop a Supabase project - back then only a PostgreSQL connection string.
+The original Dashboard really wasn't much except a couple of buttons which allowed our Alpha users to start and stop a Supabase project - back then only a PostgreSQL connection string.
Then time went on, and we started gaining traction - a lot faster than expected.
The nice thing about building for developers is that they are very vocal about the features they want to see next.
@@ -55,7 +55,7 @@ Eventually we decided to open source all the frontend code, a shared codebase fo
Special shout out
- Sentry do a fantastic job of documenting their strategy for managing a shared codebase and served as a great model for Supabase.
+Sentry do a fantastic job of documenting their strategy for managing a shared codebase and served as a great model for Supabase.
@@ -74,7 +74,7 @@ and have it shipped to both the Platform and Self-Hosted environments - all in a
## Technical details
-Let's jump into some of the technical implemetation for Supabase Studio.
+Let's jump into some of the technical implementation for Supabase Studio.
### Tech stack
diff --git a/www/pages/auth/Auth.tsx b/www/pages/auth/Auth.tsx
index 26af2c29136..570a6d3f6ab 100644
--- a/www/pages/auth/Auth.tsx
+++ b/www/pages/auth/Auth.tsx
@@ -101,8 +101,18 @@ function AuthPage() {