Blog: oct release (#3793)
* Adds blog skeleton * running fresh npm install * add .env for www * Updates this month's blog post * Adds final images * Add type for DateTimeFormatOptions * Adds youtube video * Update the name of launch week * Adds a date and the RSS feed * Documents the new fetch implementation Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com> Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
No files matched your search
@@ -4805,9 +4805,11 @@
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "any"
|
||||
}
|
||||
"type": "reference",
|
||||
"id": 186,
|
||||
"name": "ApiError"
|
||||
},
|
||||
"defaultValue": "e as ApiError"
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
@@ -4981,15 +4983,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 498,
|
||||
"character": 19
|
||||
"line": 491,
|
||||
"character": 39
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
}
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
},
|
||||
{
|
||||
"id": 495,
|
||||
@@ -5002,15 +5004,24 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 498,
|
||||
"character": 58
|
||||
"line": 491,
|
||||
"character": 79
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"type": "union",
|
||||
"types": [
|
||||
{
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
{
|
||||
"type": "reference",
|
||||
"id": 186,
|
||||
"name": "ApiError"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 494,
|
||||
@@ -5023,16 +5034,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 498,
|
||||
"character": 45
|
||||
"line": 491,
|
||||
"character": 66
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "data"
|
||||
"defaultValue": "null"
|
||||
},
|
||||
{
|
||||
"id": 493,
|
||||
@@ -5045,25 +5055,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 498,
|
||||
"character": 25
|
||||
"line": 491,
|
||||
"character": 51
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "union",
|
||||
"types": [
|
||||
{
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
{
|
||||
"type": "reference",
|
||||
"id": 58,
|
||||
"name": "User"
|
||||
}
|
||||
]
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "data.user"
|
||||
"defaultValue": "null"
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
@@ -5102,15 +5102,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 500,
|
||||
"line": 498,
|
||||
"character": 19
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 500,
|
||||
@@ -5123,14 +5123,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 500,
|
||||
"character": 59
|
||||
"line": 498,
|
||||
"character": 58
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "any"
|
||||
}
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
},
|
||||
{
|
||||
"id": 499,
|
||||
@@ -5143,15 +5144,16 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 500,
|
||||
"character": 46
|
||||
"line": 498,
|
||||
"character": 45
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"defaultValue": "data"
|
||||
},
|
||||
{
|
||||
"id": 498,
|
||||
@@ -5164,15 +5166,25 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 500,
|
||||
"character": 31
|
||||
"line": 498,
|
||||
"character": 25
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
"type": "union",
|
||||
"types": [
|
||||
{
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
{
|
||||
"type": "reference",
|
||||
"id": 58,
|
||||
"name": "User"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"defaultValue": "data.user"
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
@@ -5278,15 +5290,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 514,
|
||||
"character": 19
|
||||
"line": 507,
|
||||
"character": 39
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
}
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
},
|
||||
{
|
||||
"id": 509,
|
||||
@@ -5299,15 +5311,24 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 514,
|
||||
"character": 58
|
||||
"line": 507,
|
||||
"character": 79
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"type": "union",
|
||||
"types": [
|
||||
{
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
{
|
||||
"type": "reference",
|
||||
"id": 186,
|
||||
"name": "ApiError"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 508,
|
||||
@@ -5320,16 +5341,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 514,
|
||||
"character": 45
|
||||
"line": 507,
|
||||
"character": 66
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "data"
|
||||
"defaultValue": "null"
|
||||
},
|
||||
{
|
||||
"id": 507,
|
||||
@@ -5342,25 +5362,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 514,
|
||||
"character": 25
|
||||
"line": 507,
|
||||
"character": 51
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "union",
|
||||
"types": [
|
||||
{
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
{
|
||||
"type": "reference",
|
||||
"id": 58,
|
||||
"name": "User"
|
||||
}
|
||||
]
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "data.user"
|
||||
"defaultValue": "null"
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
@@ -5399,15 +5409,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 516,
|
||||
"line": 514,
|
||||
"character": 19
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 514,
|
||||
@@ -5420,14 +5430,15 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 516,
|
||||
"character": 59
|
||||
"line": 514,
|
||||
"character": 58
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "any"
|
||||
}
|
||||
"name": "null"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
},
|
||||
{
|
||||
"id": 513,
|
||||
@@ -5440,15 +5451,16 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 516,
|
||||
"character": 46
|
||||
"line": 514,
|
||||
"character": 45
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
"type": "reference",
|
||||
"id": 50,
|
||||
"name": "Session"
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"defaultValue": "data"
|
||||
},
|
||||
{
|
||||
"id": 512,
|
||||
@@ -5461,15 +5473,25 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 516,
|
||||
"character": 31
|
||||
"line": 514,
|
||||
"character": 25
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
"type": "union",
|
||||
"types": [
|
||||
{
|
||||
"type": "intrinsic",
|
||||
"name": "null"
|
||||
},
|
||||
{
|
||||
"type": "reference",
|
||||
"id": 58,
|
||||
"name": "User"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaultValue": "null"
|
||||
"defaultValue": "data.user"
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
@@ -5840,9 +5862,11 @@
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"type": "intrinsic",
|
||||
"name": "any"
|
||||
}
|
||||
"type": "reference",
|
||||
"id": 186,
|
||||
"name": "ApiError"
|
||||
},
|
||||
"defaultValue": "e as ApiError"
|
||||
},
|
||||
{
|
||||
"id": 532,
|
||||
@@ -6550,8 +6574,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 461,
|
||||
"character": 13
|
||||
"line": 460,
|
||||
"character": 29
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6580,8 +6604,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 462,
|
||||
"character": 11
|
||||
"line": 461,
|
||||
"character": 8
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
@@ -6611,7 +6635,7 @@
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 462,
|
||||
"character": 39
|
||||
"character": 9
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
@@ -6643,8 +6667,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "GoTrueClient.ts",
|
||||
"line": 462,
|
||||
"character": 4
|
||||
"line": 460,
|
||||
"character": 89
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9923,7 +9947,7 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "lib/cookies.ts",
|
||||
"line": 164,
|
||||
"line": 165,
|
||||
"character": 28
|
||||
}
|
||||
]
|
||||
@@ -9966,7 +9990,7 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "lib/cookies.ts",
|
||||
"line": 112,
|
||||
"line": 113,
|
||||
"character": 28
|
||||
}
|
||||
]
|
||||
@@ -10242,7 +10266,7 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "lib/cookies.ts",
|
||||
"line": 129,
|
||||
"line": 130,
|
||||
"character": 24
|
||||
}
|
||||
]
|
||||
@@ -10318,7 +10342,7 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "lib/cookies.ts",
|
||||
"line": 160,
|
||||
"line": 161,
|
||||
"character": 25
|
||||
}
|
||||
]
|
||||
@@ -10400,7 +10424,7 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "lib/cookies.ts",
|
||||
"line": 144,
|
||||
"line": 145,
|
||||
"character": 26
|
||||
}
|
||||
]
|
||||
@@ -11519,7 +11543,7 @@
|
||||
"sources": [
|
||||
{
|
||||
"fileName": "lib/polyfills.ts",
|
||||
"line": 6,
|
||||
"line": 4,
|
||||
"character": 34
|
||||
}
|
||||
]
|
||||
|
||||
@@ -177,14 +177,30 @@ pages:
|
||||
```js
|
||||
import { createClient } from '@supabase/supabase-js'
|
||||
|
||||
const options = { schema: 'other_schema' }
|
||||
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', options)
|
||||
// Provide a custom schema. Defaults to "public".
|
||||
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
|
||||
schema: 'other_schema'
|
||||
})
|
||||
```
|
||||
|
||||
By default the API server points to the `public` schema. You can enable others database schemas within the Dashboard.
|
||||
Go to `Settings > API > Schema` and add the schema which you want to expose to on the API.
|
||||
|
||||
Note: each client connection can only access a single schema, so the code above can access the `other_schema` schema but cannot access the `public` schema.
|
||||
- name: Custom `fetch` implementation
|
||||
js: |
|
||||
```js
|
||||
import { createClient } from '@supabase/supabase-js'
|
||||
|
||||
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
|
||||
fetch: fetch
|
||||
})
|
||||
```
|
||||
|
||||
`supabase-js` uses the [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) library to make HTTP requests,
|
||||
but an alternative `fetch` implementation can be provided as an option.
|
||||
This is most useful in environments where `cross-fetch` is not compatible (for instance Cloudflare Workers).
|
||||
|
||||
Generating Types:
|
||||
description: |
|
||||
Supabase will soon release native type generators that dump your database types for various languages. For now, we support TypeScript through a third-party tool.
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Replace this URL with the URL of your blog app
|
||||
NEXT_PUBLIC_URL="https://localhost:3000"
|
||||
NEXT_PUBLIC_DOCS_URL="http://localhost:3005"
|
||||
NEXT_PUBLIC_STUDIO_URL="https://localhost:8082"
|
||||
@@ -133,7 +133,7 @@ If you want to keep up to date, make sure you [subscribe to our YouTube channel]
|
||||
|
||||
Security, stability, performance ... and Functions.
|
||||
|
||||
### Get started
|
||||
## Get started
|
||||
|
||||
- Start using Supabase today: [app.supabase.io](https://app.supabase.io/)
|
||||
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
|
||||
|
||||
@@ -156,7 +156,7 @@ Last December we [moved from Alpha to Beta](/beta), with a focus on Security, Pe
|
||||
|
||||
By the time we're done, Supabase will be production-ready for all use cases.
|
||||
|
||||
### Get started
|
||||
## Get started
|
||||
|
||||
- Start using Supabase today: [app.supabase.io](https://app.supabase.io/)
|
||||
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
|
||||
|
||||
@@ -122,7 +122,7 @@ We're Hiring [SREs](https://about.supabase.com/careers/sre). We're fully remote
|
||||
|
||||
We're warming up for another Launch Week! Last time was "[Launch Week II: the SQL](/blog/2021/07/22/supabase-launch-week-sql)". We're going to need another month to come up with a good pun again, so we'll aim for November.
|
||||
|
||||
### Get started
|
||||
## Get started
|
||||
|
||||
- Start using Supabase today: **[app.supabase.io](https://app.supabase.io/)**
|
||||
- Make sure to **[star us on GitHub](https://github.com/supabase/supabase)**
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
---
|
||||
title: Supabase Beta October 2021
|
||||
description: Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week.
|
||||
author: paul_copplestone
|
||||
author_url: https://github.com/kiwicopple
|
||||
author_image_url: https://github.com/kiwicopple.png
|
||||
authorURL: https://github.com/kiwicopple
|
||||
image: 2021-oct/release-oct-2021.jpg
|
||||
thumb: 2021-oct/release-oct-2021-cover.jpg
|
||||
tags:
|
||||
- release-notes
|
||||
date: '2021-11-07'
|
||||
toc_depth: 3
|
||||
---
|
||||
|
||||
We released three new Auth providers, multi-schema support, and we're gearing up for another Launch Week.
|
||||
|
||||
### Quick recap
|
||||
|
||||
Watch a recap of this month's release.
|
||||
|
||||
<iframe
|
||||
className="w-full video-with-border"
|
||||
width="640"
|
||||
height="385"
|
||||
src="https://www.youtube-nocookie.com/embed/yL5WbAKAKjE"
|
||||
frameBorder="1"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
|
||||
|
||||
## Slack, Spotify, and MessageBird logins
|
||||
|
||||
Thanks to [`@HarryET`](https://github.com/supabase/gotrue/pull/245) and our friends at [MessageBird](https://github.com/supabase/gotrue/pull/210)
|
||||
we have 3 new Auth providers this month:
|
||||
[Slack](https://supabase.io/docs/guides/auth/auth-slack),
|
||||
[Spotify](https://supabase.io/docs/guides/auth/auth-spotify), and
|
||||
[MessageBird](https://supabase.io/docs/guides/auth/auth-messagebird) phone logins.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
## Multi-schema support
|
||||
|
||||
|
||||
### Dashboard
|
||||
|
||||
Browse data in any database schema using the Schema switcher in the Dashbaord.
|
||||
|
||||

|
||||
|
||||
### API
|
||||
|
||||
You can access any schema with your API, after enabling access in the Dashboard.
|
||||
[Docs](https://supabase.io/docs/reference/javascript/initializing#api-schemas).
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
## Fresh Docs and Guides
|
||||
|
||||
We have a TON of new guides, with videos too.
|
||||
|
||||
### Database Functions
|
||||
|
||||
Learn about PostgreSQL Functions. [Docs](http://supabase.io/docs/guides/database/functions).
|
||||
|
||||
<iframe
|
||||
className="w-full video-with-border"
|
||||
width="640"
|
||||
height="385"
|
||||
src="https://www.youtube-nocookie.com/embed/MJZCCpCYEqk"
|
||||
frameBorder="1"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
|
||||
|
||||
### Auth Overview
|
||||
|
||||
Learn about all the exciting feature of Auth within Supabase. [Docs](https://supabase.io/docs/guides/auth/intro).
|
||||
|
||||
<iframe
|
||||
className="w-full video-with-border"
|
||||
width="640"
|
||||
height="385"
|
||||
src="https://www.youtube-nocookie.com/embed/6ow_jW4epf8"
|
||||
frameBorder="1"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
|
||||
### API Features
|
||||
|
||||
Learn more about the power of PostgREST for RESTful APIs. [Docs](https://supabase.io/docs/guides/api#restful-api).
|
||||
|
||||
<iframe
|
||||
className="w-full video-with-border"
|
||||
width="640"
|
||||
height="385"
|
||||
src="https://www.youtube-nocookie.com/embed/rPAJJFdtPw0"
|
||||
frameBorder="1"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
|
||||
### And more
|
||||
|
||||
- Redwood Quickstart: [https://supabase.io/docs/guides/with-redwoodjs](https://supabase.io/docs/guides/with-redwoodjs)
|
||||
- Expanded Self-hosting: [https://supabase.io/docs/guides/hosting/overview](https://supabase.io/docs/guides/hosting/overview)
|
||||
- Expanded Auth Reference docs with [serverside functions](https://supabase.io/docs/reference/javascript/auth-api-deleteuser).
|
||||
- "Before you launch" checklist: [https://supabase.io/docs/going-into-prod](https://supabase.io/docs/going-into-prod)
|
||||
|
||||
|
||||

|
||||
|
||||
## Community
|
||||
|
||||
There was a lot of activity this month.
|
||||
|
||||
### Supabase at Jamstack conf
|
||||
|
||||
Supabase attended the Jamstack conf. Watch us catch up with Matt, the cofounder of Netlify (minute 8).
|
||||
|
||||
<iframe
|
||||
className="w-full video-with-border"
|
||||
width="640"
|
||||
height="385"
|
||||
src="https://www.youtube-nocookie.com/embed/phC14xfwvjc"
|
||||
frameBorder="1"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
|
||||
### Supabase at Next.js conf
|
||||
|
||||
And [Jon](https://twitter.com/_dijonmusters) made a guest appearance at this year's amazing [Next.js Conf](https://nextjs.org/conf).
|
||||
|
||||
<iframe
|
||||
className="w-full video-with-border"
|
||||
width="640"
|
||||
height="385"
|
||||
src="https://www.youtube-nocookie.com/embed/GpXEMB1pDRE"
|
||||
frameBorder="1"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
|
||||
|
||||
### Community Highlights
|
||||
|
||||
- Vue 3 | Workout Tracker App - John Komarnicki [video](https://www.youtube.com/watch?v=3tF0fGkd4ho)
|
||||
- Adalo + Supabase - Flywheel Media [video](https://www.youtube.com/watch?v=YGP1LXctLk4)
|
||||
- Nuxt 3 Beta + Supabase - BenCodeZen [video](https://www.youtube.com/watch?v=5vB120atiaU)
|
||||
- Made With Supabase (now on Nuxt 3) - Zernonia [site](https://www.madewithsupabase.com/)
|
||||
- Nuxt 3 + Tailwind + Supabase - Ekene Eze [video](https://www.youtube.com/watch?v=xbE11CfZpNQ)
|
||||
- SQL Functions - Răzvan Stătescu [article](https://dev.to/razvanstatescu/how-to-run-custom-sql-queries-using-functions-in-supabase-2nna)
|
||||
- `supabase-py v0.0.3` released - [repo](https://github.com/supabase-community/supabase-py/releases/tag/v0.0.3)
|
||||
- `nuxt-supabase v2.2.1` released - [repo](https://github.com/supabase-community/nuxt-supabase)
|
||||
- `vue-supabase v2.2.3` released - [repo](https://github.com/supabase-community/vue-supabase)
|
||||
|
||||
### GitHub
|
||||
|
||||
We hit 20K stars!! 21,268 to be exact: [github.com/supabase/supabase](http://github.com/supabase/supabase)
|
||||
|
||||

|
||||
|
||||
Source: [repository.surf/supabase](https://repository.surf/supabase)
|
||||
|
||||
Check out some of our other community stats in our latest [Series A Blog Post](/blog/2021/10/28/supabase-series-a).
|
||||
|
||||
## Coming Next: Launch Week III
|
||||
|
||||
We had Launch Week [numero uno](https://supabase.io/blog/2021/03/25/launch-week) in March, and the sequel "[Launch Week II: the SQL](https://supabase.io/blog/2021/07/22/supabase-launch-week-sql)" in July.
|
||||
|
||||
Now we're going even bigger with the third installment: `Launch Week III: The Trilogy`. Join us on 29th November on our [Discord](https://discord.supabase.com).
|
||||
|
||||

|
||||
|
||||
## Get started
|
||||
|
||||
- Start using Supabase today: **[app.supabase.io](https://app.supabase.io/)**
|
||||
- Make sure to **[star us on GitHub](https://github.com/supabase/supabase)**
|
||||
- Follow us **[on Twitter](https://twitter.com/supabase)**
|
||||
- Subscribe to our **[YouTube channel](https://www.youtube.com/channel/UCNTVzV1InxHV-YR0fSajqPQ)**
|
||||
- Become a **[sponsor](https://github.com/sponsors/supabase)**
|
||||
@@ -24,7 +24,7 @@ export const getSortedPosts = (limit?: number, tags?: any) => {
|
||||
const fileContents = fs.readFileSync(fullPath, 'utf8')
|
||||
const { data, content } = matter(fileContents)
|
||||
|
||||
const options = { month: 'long', day: 'numeric', year: 'numeric' }
|
||||
const options: Intl.DateTimeFormatOptions = { month: 'long', day: 'numeric', year: 'numeric' }
|
||||
const formattedDate = new Date(data.date).toLocaleDateString('en-IN', options)
|
||||
|
||||
const readingTime = generateReadingTime(content)
|
||||
|
||||
|
After Width: | Height: | Size: 523 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 539 KiB |
|
After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 253 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 248 KiB |
|
After Width: | Height: | Size: 320 KiB |
@@ -5,9 +5,17 @@
|
||||
<link>https://supabase.io</link>
|
||||
<description>Latest news from Supabase</description>
|
||||
<language>en</language>
|
||||
<lastBuildDate>Wed, 27 Oct 2021 16:00:00 GMT</lastBuildDate>
|
||||
<lastBuildDate>Sat, 06 Nov 2021 16:00:00 GMT</lastBuildDate>
|
||||
<atom:link href="https://supabase.io/blog/rss.xml" rel="self" type="application/rss+xml"/>
|
||||
|
||||
<item>
|
||||
<guid>https://supabase.io/blog/2021/11/05/supabase-beta-october-2021</guid>
|
||||
<title>Supabase Beta October 2021</title>
|
||||
<link>https://supabase.io/blog/2021/11/05/supabase-beta-october-2021</link>
|
||||
<description>Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week.</description>
|
||||
<pubDate>Sat, 06 Nov 2021 16:00:00 GMT</pubDate>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<guid>https://supabase.io/blog/2021/10/28/supabase-series-a</guid>
|
||||
<title>Supabase $30m Series A</title>
|
||||
|
||||