SuperDeck
SuperDeck enables you to craft visually appealing and interactive presentations directly within your Flutter apps, using the simplicity and power of Markdown.
Overview
SuperDeck is a presentation framework for Flutter that combines the simplicity of Markdown with the power of Flutter's UI system. It uses a block-based architecture to create flexible, multi-column layouts with support for custom widgets and interactive content.
Key Components
- CLI Tool - Setup, build, and publish presentations
- Flutter Package - UI components and presentation runtime
- Block System - Flexible content layout with 5 block types
- Mix Styling - Comprehensive theming and styling system
- Asset Pipeline - Automatic generation and optimization
Core Features
- 5 Block Types:
@column,@section,@image,@dartpad,@widget - CLI Commands:
setup,build,publish,version - Markdown Support: Full CommonMark with GitHub-style alerts
- Custom Widgets: Extensible widget system for interactive content
- Multi-Platform: All Flutter platforms supported
- Live Development: Watch mode with hot reload
- GitHub Pages: Built-in publishing support
Architecture
SuperDeck follows a modular 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 Flutter project
cd your-flutter-project superdeck setup -
Add SuperDeck dependency
flutter pub add superdeck -
Initialize in your app
import 'package:superdeck/superdeck.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await SuperDeckApp.initialize(); runApp(MyApp()); }
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
What Makes SuperDeck Different
- Flutter-Native - Built specifically for Flutter developers
- Block-Based - Flexible layout system beyond traditional slides
- Developer-Friendly - CLI tools, hot reload, and debugging support
- Extensible - Custom widgets and comprehensive styling
- Production-Ready - Asset optimization and deployment tools
