SuperDeck documentation

Create beautiful presentations with Flutter and Markdown

SuperDeck

Create presentations in Flutter using Markdown.

SuperDeck Screenshot

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 - Configure and build presentations
  • Flutter Package - UI components and presentation runtime
  • Block System - Flexible layouts with 3 core block types
  • Mix Styling - Comprehensive theming system

Core features

  • 3 Block Types - @block (content), @section (layout), @widget (custom components)
  • Built-in Widgets - image, dartpad, qrcode
  • CLI Commands - setup, build, 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

Architecture

  • Core (packages/core/) - Data models and domain logic
  • Builder (packages/builder/) - Markdown parsing and build pipeline
  • CLI (packages/cli/) - Command-line interface
  • SuperDeck (packages/superdeck/) - Flutter UI components and Mix styling

Quick start

  1. Install the CLI:

    dart pub global activate superdeck_cli
    
  2. Create a Flutter app:

    flutter create my_presentation
    cd my_presentation
    
  3. Configure SuperDeck:

    superdeck setup
    flutter pub add superdeck
    flutter pub add --dev superdeck_cli
    
  4. Wire your app and add slides:

    • Update lib/main.dart to initialize and run SuperDeckApp
    • Add slides.md in the project root
  5. Build your slides:

    dart run superdeck_cli:main build
    
  6. Run your app:

    flutter run
    

Documentation structure

What makes SuperDeck different

  • Flutter-Native - Built for Flutter developers
  • Block-Based - Flexible layouts beyond traditional slides
  • Developer-Friendly - CLI tools, hot reload, debugging
  • Extensible - Custom widgets and comprehensive styling
  • Production-Ready - Web and desktop deployment