add blog images and lw15 summary

This commit is contained in:
Francesco Sansalvadore committed 2025-07-14 12:49:24 +02:00
1 parent e862e6d282
commit 208fe49afd
10 files changed
+142 -22

No files matched your search

@@ -1,5 +1,5 @@
---
title: 'Introducing JWT signing keys'
title: 'Introducing JWT Signing Keys'
description: "A new JWT signing keys system based on public key cryptography to improve your project's security and performance."
categories:
- product
@@ -10,8 +10,9 @@ tags:
date: '2025-07-14:00:00'
toc_depth: 3
author: stojan
image: ...
thumb: ...
image: launch-week-15/day-1-jwt-signing-keys/og.jpg
thumb: launch-week-15/day-1-jwt-signing-keys/thumb.jpg
launchweek: 15
---
Today we're announcing some long awaited changes in Supabase:
+1 -1
View File
@@ -20,7 +20,7 @@ const Hero = () => {
url="/launch-week#main-stage"
badge="LW15"
announcement={announcement.launch}
className="-mt-8"
className="lg:-mt-8"
hasArrow
/>
<div className="flex flex-col items-center">
@@ -14,7 +14,7 @@ const LW14Summary = () => {
>
<div className="w-full p-4 flex justify-between items-center">
<Link
href="/launch-week"
href="/launch-week/14"
className="flex items-center text-foreground font-medium gap-1.5 leading-none uppercase text-xs opacity-80 transition-opacity hover:opacity-100"
>
Launch Week 14
@@ -0,0 +1,109 @@
import React from 'react'
import Link from 'next/link'
import { buildDays, mainDays } from './data'
import { Lock } from 'lucide-react'
const LW14Summary = () => {
const days = mainDays()
return (
<div
style={{
fontFamily:
"SuisseIntl-Book, custom-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif",
}}
className="w-full border bg-alternative flex flex-col rounded text-foreground-lighter mt-12 overflow-hidden"
>
<div className="w-full uppercase p-4 flex justify-between items-center">
<Link
href="/launch-week"
className="flex items-center text-foreground font-medium gap-2.5 leading-none text-xs opacity-80 transition-opacity hover:opacity-100"
>
Launch Week 15
</Link>
<div className=" tracking-wide text-xs">July 14 — 18</div>
</div>
<div className="pb-4 border-t p-4 font-mono">
<ul className="flex flex-col gap-2">
{days.map((day, i: number) =>
day.shipped ? (
<ol key={`main-shipped-${day.id}`}>
<Link
href={day.blog}
className="group flex items-center py-1 gap-2 hover:text-foreground"
>
<span className="shrink-0 text-sm leading-6">Day {i + 1}</span>
<span>-</span>
<span className="leading-6">{day.title}</span>
</Link>
</ol>
) : (
<ol key={`main-not-shipped-${day.id}`}>
<Link
href={day.blog}
className="group flex items-center gap-2 py-1 text-foreground-muted pointer-events-none"
>
<span className="shrink-0 text-sm leading-6">Day {i + 1}</span>
<span>-</span>
<Lock className="w-3 h-3" />
</Link>
</ol>
)
)}
</ul>
</div>
<div className="w-[calc(100%+2px)] bg-alternative-200/20 flex flex-col gap-2 -m-px border font-mono">
<div className="p-4">
<div className="text-xs text-foreground tracking-wide">Build Stage</div>
<ul className="flex flex-col gap-2 mt-4">
{buildDays.map((day, i: number) =>
day.is_shipped ? (
<ol key={`build-shipped-${day.id}`}>
<Link
href={day.links[0].url}
className="relative flex items-center justify-between group w-full py-1 hover:text-foreground"
>
<span className="relative flex items-center gap-2">
<span className="">
{i + 1 < 10 ? '0' : ''}
{i + 1}
</span>
<span>-</span>
{day.title}
</span>
</Link>
</ol>
) : (
<ol key={`build-not-shipped-${day.id}`}>
<Link
href={day.links[0].url}
className="relative flex items-center justify-between group w-full py-1 text-foreground-muted pointer-events-none"
>
<span className="relative flex items-center gap-2">
<span className="">
{i + 1 < 10 ? '0' : ''}
{i + 1}
</span>
<span>-</span>
<Lock className="w-3 h-3" />
</span>
</Link>
</ol>
)
)}
<ol className="border-t pt-4 mt-2">
<Link
href="/events?category=meetup"
className="relative flex items-center justify-between group w-full py-1 hover:text-foreground"
>
Community Meetups
</Link>
</ol>
</ul>
</div>
</div>
</div>
)
}
export default LW14Summary
@@ -64,10 +64,10 @@ const days: (isDark?: boolean) => WeekDayProps[] = (isDark = true) => [
shipped: true,
isToday: true,
hasCountdown: false,
blog: '/blog/',
blog: '/blog/jwt-signing-keys',
date: 'Monday, 14th',
published_at: '2025-03-31T07:00:00.000-07:00',
title: 'Introducing ...',
title: 'Introducing JWT Signing Keys',
description: '',
links: [
{
+16 -13
View File
@@ -10,20 +10,21 @@ import { Badge } from 'ui'
import dayjs from 'dayjs'
import authors from 'lib/authors.json'
import { generateReadingTime, isNotNullOrUndefined } from '~/lib/helpers'
import mdxComponents from '~/lib/mdx/mdxComponents'
import { mdxSerialize } from '~/lib/mdx/mdxSerialize'
import { getAllPostSlugs, getPostdata, getSortedPosts } from '~/lib/posts'
import { generateReadingTime, isNotNullOrUndefined } from 'lib/helpers'
import mdxComponents from 'lib/mdx/mdxComponents'
import { mdxSerialize } from 'lib/mdx/mdxSerialize'
import { getAllPostSlugs, getPostdata, getSortedPosts } from 'lib/posts'
import ShareArticleActions from '~/components/Blog/ShareArticleActions'
import CTABanner from '~/components/CTABanner'
import LW11Summary from '~/components/LaunchWeek/11/LW11Summary'
import LW12Summary from '~/components/LaunchWeek/12/LWSummary'
import LW13Summary from '~/components/LaunchWeek/13/Releases/LWSummary'
import LW14Summary from '~/components/LaunchWeek/14/Releases/LWSummary'
import BlogLinks from '~/components/LaunchWeek/7/BlogLinks'
import LWXSummary from '~/components/LaunchWeek/X/LWXSummary'
import DefaultLayout from '~/components/Layouts/Default'
import ShareArticleActions from 'components/Blog/ShareArticleActions'
import CTABanner from 'components/CTABanner'
import LW11Summary from 'components/LaunchWeek/11/LW11Summary'
import LW12Summary from 'components/LaunchWeek/12/LWSummary'
import LW13Summary from 'components/LaunchWeek/13/Releases/LWSummary'
import LW14Summary from 'components/LaunchWeek/14/Releases/LWSummary'
import LW15Summary from 'components/LaunchWeek/15/LWSummary'
import BlogLinks from 'components/LaunchWeek/7/BlogLinks'
import LWXSummary from 'components/LaunchWeek/X/LWXSummary'
import DefaultLayout from 'components/Layouts/Default'
import { ChevronLeft } from 'lucide-react'
type Post = ReturnType<typeof getSortedPosts>[number]
@@ -139,6 +140,7 @@ function BlogPostPage(props: InferGetStaticPropsType<typeof getStaticProps>) {
const isLaunchWeek12 = props.blog.launchweek?.toString().toLocaleLowerCase() === '12'
const isLaunchWeek13 = props.blog.launchweek?.toString().toLocaleLowerCase() === '13'
const isLaunchWeek14 = props.blog.launchweek?.toString().toLocaleLowerCase() === '14'
const isLaunchWeek15 = props.blog.launchweek?.toString().toLocaleLowerCase() === '15'
const author = authorArray
.map((authorId) => {
@@ -353,6 +355,7 @@ function BlogPostPage(props: InferGetStaticPropsType<typeof getStaticProps>) {
{isLaunchWeek12 && <LW12Summary />}
{isLaunchWeek13 && <LW13Summary />}
{isLaunchWeek14 && <LW14Summary />}
{isLaunchWeek15 && <LW15Summary />}
<div className="block lg:hidden py-8">
<div className="text-foreground-lighter text-sm">Share this article</div>
<ShareArticleActions title={props.blog.title} slug={props.blog.slug} />
Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

+8 -1
View File
@@ -5,9 +5,16 @@
<link>https://supabase.com</link>
<description>Latest news from Supabase</description>
<language>en</language>
<lastBuildDate>Wed, 25 Jun 2025 00:00:00 -0700</lastBuildDate>
<lastBuildDate>Mon, 14 Jul 2025 00:00:00 -0700</lastBuildDate>
<atom:link href="https://supabase.com/rss.xml" rel="self" type="application/rss+xml"/>
<item>
<guid>https://supabase.com/blog/jwt-signing-keys</guid>
<title>Introducing JWT Signing Keys</title>
<link>https://supabase.com/blog/jwt-signing-keys</link>
<description>A new JWT signing keys system based on public key cryptography to improve your project&apos;s security and performance.</description>
<pubDate>Mon, 14 Jul 2025 00:00:00 -0700</pubDate>
</item>
<item>
<guid>https://supabase.com/blog/natural-db</guid>
<title>Build a Personalized AI Assistant with Postgres</title>
<link>https://supabase.com/blog/natural-db</link>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"text": "LW15: Day 1",
"launch": "TBD",
"launch": "JWT Signing Keys",
"launchDate": "2025-07-14T08:00:00.000-07:00",
"link": "/launch-week#main-stage",
"cta": "Learn more"