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 - 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 ```mermaid code 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

  1. Install the CLI:

    dart pub global activate superdeck_cli
    
  2. Set up your project:

    cd your-flutter-project
    superdeck setup
    
  3. Add SuperDeck:

    flutter pub add superdeck
    
  4. 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

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 - Asset optimization and deployment