SuperDeck
Create presentations in Flutter using Markdown.
Overview
SuperDeck is a Flutter presentation framework that combines Markdown simplicity with Flutter's UI power. Create flexible, multi-column layouts with custom widgets and interactive content using a block-based architecture.
Key Components
- CLI Tool - Set up, build, and publish presentations
- Flutter Package - UI components and presentation runtime
- Block System - Flexible layouts with 3 core block types
- Mix Styling - Comprehensive theming system
- Asset Pipeline - Automatic asset generation and optimization
Core Features
- 3 Block Types -
@column(content),@section(layout),@widget(custom components) - Built-in Widgets -
image,dartpad,qrcode - Mermaid Diagrams - Use
```mermaidcode blocks (rendered to images at build time) - CLI Commands -
setup,build,publish,version - Markdown Support - Full CommonMark with GitHub-style alerts
- Custom Widgets - Extensible widget system
- Platforms - Web and desktop
- Live Development - Watch mode with hot reload
- GitHub Pages - Built-in publishing
Architecture
- Core (
packages/core/) - Data models and domain logic - Builder (
packages/builder/) - Markdown parsing and asset generation - CLI (
packages/cli/) - Command-line interface - SuperDeck (
packages/superdeck/) - Flutter UI components and Mix styling
Quick Start
-
Install the CLI:
dart pub global activate superdeck_cli -
Set up your project:
cd your-flutter-project superdeck setup -
Add SuperDeck:
flutter pub add superdeck -
Initialize your app:
import 'package:flutter/widgets.dart'; import 'package:superdeck/superdeck.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await SuperDeckApp.initialize(); runApp( SuperDeckApp( options: const DeckOptions(), ), ); }
Documentation Structure
- Getting Started - Complete setup guide
- Tutorials - Step-by-step learning paths
- How-to Guides - Task-focused instructions
- Reference - Complete API documentation
- Examples - Real-world use cases
