Getting Started
This guide walks you through setting up SuperDeck in your Flutter project and creating your first presentation.
Prerequisites
- Flutter SDK installed
- Dart SDK installed
- A Flutter project (or create one with
flutter create my_presentation)
2. Set up your Flutter project
Navigate to your Flutter project and run:
cd your-flutter-project
superdeck setup
This command:
- Creates a sample
slides.mdfile - Updates
pubspec.yamlwith asset configuration - Sets up macOS entitlements for network access
- Configures custom
index.htmlfor web with loading indicator
4. Initialize SuperDeck in your app
Update your main.dart:
import 'package:flutter/material.dart';
import 'package:superdeck/superdeck.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await SuperDeckApp.initialize();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'My SuperDeck Presentation',
debugShowCheckedModeBanner: false,
home: SuperDeckApp(
options: DeckOptions(
debug: true, // Enable debug mode during development
),
),
);
}
}
Your First Presentation
The superdeck setup command creates a basic slides.md file. Edit it to create your first presentation:
---
title: My First Presentation
---
# Welcome to SuperDeck!
This is your first slide.
---
## What is SuperDeck?
SuperDeck enables you to create beautiful presentations using:
- Markdown for content
- Flutter for rendering
- Block-based layouts for flexibility
---
## Two-Column Layout
@section
@column
### Left Column
- Point one
- Point two
- Point three
@column
### Right Column

---
Building Your Presentation
Build your slides using the CLI:
# Build once
superdeck build
# Build and watch for changes (recommended for development)
superdeck build --watch
Development Workflow
For the best development experience, use two terminals:
Terminal 1 - CLI in watch mode:
superdeck build --watch
Terminal 2 - Flutter app:
flutter run
Now when you edit slides.md, the CLI automatically rebuilds your presentation, and you can hot reload Flutter to see changes instantly.
File Structure
After setup, your project will have:
your-flutter-project/
├── slides.md # Your presentation content
├── .superdeck/
│ ├── superdeck.json # Generated presentation data
│ ├── assets/ # Generated assets
│ └── generated_assets.json # Asset references
├── pubspec.yaml # Updated with asset configuration
└── lib/
└── main.dart # Your Flutter app
Next Steps
- Block Layouts Tutorial - Learn SuperDeck's layout system
- First Presentation Tutorial - Create a complete presentation
- CLI Reference - All CLI commands and options
Common Issues
Build fails with asset errors?
- Ensure your
pubspec.yamlincludes.superdeck/assets/in the assets section - Run
superdeck setupagain to fix configuration
SuperDeckApp.initialize() fails?
- Make sure you call
WidgetsFlutterBinding.ensureInitialized()first - Check that your
slides.mdfile exists and is valid
Changes not showing?
- Ensure CLI watch mode is running (
superdeck build --watch) - Hot reload Flutter after CLI rebuilds complete
