You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### FAQ (`type: 'faq'`)
Accordion-style FAQ with expand/collapse. Each item has a `question` and
`answer`. Click to toggle — only one open at a time.
<img width="1309" height="610" alt="Screenshot 2026-03-13 at 17 31 31"
src="https://github.com/user-attachments/assets/289c8a12-3835-4f64-bbe6-fb7095df4e7c"
/>
### Code Block (`type: 'code-block'`)
Syntax-highlighted code display using shiki with custom Supabase
dark/light themes. Supports:
- **Single file** — `code` + optional `filename` + `language`
- **Multi-file** — `files: [{ filename, code, language }]` with
clickable tabs
- Line numbers via CSS counters
- All highlighting runs at build time (server component), only tab
switching is client-side
<img width="1283" height="415" alt="Screenshot 2026-03-13 at 17 32 07"
src="https://github.com/user-attachments/assets/9cc9a215-d5c9-47c9-8e21-c1dd3beca4ba"
/>
### Steps (`type: 'steps'`)
Numbered step-by-step guide with a vertical timeline connector. Each
item has `title` and either a plain `description` string or a `content`
slot accepting any React node (e.g. images, code blocks).
<img width="1119" height="810" alt="Screenshot 2026-03-13 at 17 32 20"
src="https://github.com/user-attachments/assets/cb67aaab-9ed4-42e2-bf1c-8d836024e469"
/>
### Quote (`type: 'quote'`)
Centered testimonial block with `quote`, `author`, optional `role`, and
optional `avatar` image.
<img width="1095" height="238" alt="Screenshot 2026-03-13 at 17 32 37"
src="https://github.com/user-attachments/assets/356a39ca-9f65-4414-bf77-6060993594a4"
/>
Copy file name to clipboardExpand all lines: apps/www/_go/lead-gen/example-lead-gen.tsx
+125-1Lines changed: 125 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ const page: GoPageInput = {
14
14
title: 'Building Modern Applications with Supabase',
15
15
subtitle: 'Sample ebook landing page',
16
16
description:
17
-
'This is a sample lead generation page. The content below demonstrates the template layout. Replace it with your real ebook title, description, and cover image.',
17
+
'This is a sample lead generation page. The content below demonstrates the template layout and all available section components. Replace it with your real ebook title, description, and cover image.',
description: 'Interact with your database using the auto-generated client library.',
117
+
files: [
118
+
{
119
+
filename: 'app/page.tsx',
120
+
language: 'typescript',
121
+
code: `import { createClient } from '@supabase/supabase-js'
122
+
123
+
const supabase = createClient(
124
+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
125
+
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
126
+
)
127
+
128
+
// Fetch all published posts
129
+
const { data: posts } = await supabase
130
+
.from('posts')
131
+
.select('id, title, content, author(name)')
132
+
.eq('published', true)
133
+
.order('created_at', { ascending: false })`,
134
+
},
135
+
{
136
+
filename: 'lib/supabase.ts',
137
+
language: 'typescript',
138
+
code: `import { createClient } from '@supabase/supabase-js'
139
+
140
+
export const supabase = createClient(
141
+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
142
+
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
143
+
)`,
144
+
},
145
+
{
146
+
filename: 'schema.sql',
147
+
language: 'sql',
148
+
code: `create table posts (
149
+
id bigint generated always as identity primary key,
150
+
title text not null,
151
+
content text,
152
+
author_id bigint references authors(id),
153
+
published boolean default false,
154
+
created_at timestamptz default now()
155
+
);
156
+
157
+
alter table posts enable row level security;`,
158
+
},
159
+
],
160
+
},
75
161
{
76
162
type: 'metrics',
77
163
items: [
@@ -80,6 +166,44 @@ const page: GoPageInput = {
80
166
{label: 'GitHub stars',value: '80,000+'},
81
167
],
82
168
},
169
+
{
170
+
type: 'quote',
171
+
quote:
172
+
'Supabase has completely transformed how we build products. What used to take weeks now takes hours.',
173
+
author: 'Jane Smith',
174
+
role: 'CTO, Acme Corp',
175
+
avatar: {
176
+
src: 'https://i.pravatar.cc/80?u=jane-smith',
177
+
alt: 'Jane Smith',
178
+
},
179
+
},
180
+
{
181
+
type: 'faq',
182
+
title: 'Frequently asked questions',
183
+
description: 'Everything you need to know about getting started with Supabase.',
184
+
items: [
185
+
{
186
+
question: 'What is Supabase?',
187
+
answer:
188
+
'Supabase is an open-source Firebase alternative that provides a Postgres database, authentication, instant APIs, edge functions, real-time subscriptions, and storage. It gives you all the backend services you need to build a product.',
189
+
},
190
+
{
191
+
question: 'How much does Supabase cost?',
192
+
answer:
193
+
'Supabase has a generous free tier that includes 500MB of database space, 1GB of storage, and 50,000 monthly active users. Paid plans start at $25/month for additional resources and features like daily backups and priority support.',
194
+
},
195
+
{
196
+
question: 'Can I self-host Supabase?',
197
+
answer:
198
+
'Yes! Supabase is fully open-source and can be self-hosted using Docker. The official documentation provides detailed guides for deploying Supabase on your own infrastructure.',
199
+
},
200
+
{
201
+
question: 'What frameworks does Supabase support?',
202
+
answer:
203
+
'Supabase provides client libraries for JavaScript/TypeScript, Python, Dart (Flutter), Swift, and Kotlin. It works with any framework including Next.js, React, Vue, Svelte, and more.',
0 commit comments