Sample tour: every content block, in one tutorial
A live demo of every block the editor supports — code, terminal, prompts, file trees, API blocks, diffs, tabs, tables, callouts, and more.
1. Prose, headings, and steps
Open the admin panel
Sign in and click Admin in the top navigation.
Create a new tutorial
Give it a title, choose a category, and start inserting blocks.
Publish when ready
Toggle Publish to make it visible on the public site.
2. Code, terminal, and prompts
export function greet(name: string): string {
return `Hello, ${name}!`;
}
console.log(greet("world"));$npm install$npm run dev▲ Vite server ready on http://localhost:8080
−export function greet(name) {− return "Hello, " + name;−}
+export function greet(name: string): string {+ return `Hello, ${name}!`;+}
3. API requests and responses
/api/tutorials[
{
"id": "a1b2c3",
"slug": "getting-started",
"title": "Getting started with Lovable",
"category": "Lovable"
}
]4. Tabs, accordions, tables, checklists
| Block | Best used for | Copyable |
|---|---|---|
| Code | Source snippets | Yes |
| Terminal | Shell sessions | Yes |
| Prompt | AI prompts to reuse | Yes |
| API request | Documenting endpoints | Yes (cURL) |
5. Callouts for every situation
Callouts help you highlight things readers should not miss.
Keep callouts short — one or two sentences works best.
Use the success callout to celebrate milestones.
Use warnings for things that will bite you if you skip them.
Store secrets in server-only env vars and never in client code.
Copying production keys into a public repository is the fastest way to leak them.
Enable Row Level Security on every public table and write policies before shipping.
Lazy-load heavy components and images below the fold to keep first paint fast.
6. Resources, downloads, and shortcuts
- Open command paletteCmd+K
- Save draftCmd+S
- Publish tutorialCmd+Shift+P
Simplicity is prerequisite for reliability.
— Edsger W. Dijkstra