Skip to content

Repository files navigation

Slideforge

License: MITPython 3.8+

Transform structured content into professional PowerPoint presentations.

AI-powered presentation generator that converts markdown outlines, JSON structures, and documents into well-designed PPTX files.

Overview

Slideforge uses intelligent content transformation to create high-quality presentations from various input formats. Built for educators, business professionals, and anyone who needs to create presentations efficiently.

Key Features

  • Multiple Input Formats: Markdown, JSON outlines, plain text documents
  • Smart Content Transformation: Automatically structures content for slides
  • Template Support: Apply custom themes and corporate branding
  • Speaker Notes: Detailed presenter notes generated automatically
  • Best Practices Built-in: 6x6 rule, visual hierarchy, consistent styling
  • Slide Type Variety: Title, content, comparison, image, quote slides

Quick Start

Installation

cd scripts
pip install -r requirements.txt

Basic Usage

From JSON:

cd scripts/pptx-generator
python pptx_generator.py --input content.json --output presentation.pptx

With Theme:

python pptx_generator.py -i content.json -o output.pptx -t themes/corporate.pptx

Python API

frompptx_generatorimportPPTXGenerator# Create presentationgenerator=PPTXGenerator()
generator.add_title_slide("My Presentation", "Subtitle here")
generator.add_content_slide("Key Points", [
"First important point",
"Second important point",
"Third important point"
])
generator.save("output.pptx")

Input Formats

Markdown

# Presentation Title## Introduction### Overview- First key point
- Second key point
- Third key point
## Main Content### Details- Supporting information
- Additional context

JSON

{
"metadata": {
"title": "Presentation Title",
"author": "Your Name",
"date": "2024-01-01"
},
"sections": [
{
"title": "Introduction",
"slides": [
{
"type": "content",
"title": "Overview",
"content": {
"bullets": ["Point 1", "Point 2", "Point 3"]
},
"notes": "Speaker notes here..."
}
]
}
]
}

Slide Types

TypeDescription
titleOpening slide with title and subtitle
section_headerSection transition slide
contentStandard bullet point slide
two_contentTwo-column layout
comparisonSide-by-side comparison with headers
imageImage-focused slide
quoteQuote with attribution
blankEmpty slide for custom content

Project Structure

/Slideforge/
├── CLAUDE.md # AI orchestration guide
├── README.md # This file
├── agents/ # AI agent specifications
├── scripts/
│ └── pptx-generator/ # Core generation module
├── schemas/
│ └── presentation/ # JSON schemas
├── templates/
│ └── pptx/ # Theme templates
├── inputs/ # Source content
└── exports/ # Generated presentations

Design Principles

Slideforge follows presentation best practices:

  • 6x6 Rule: Maximum 6 bullet points per slide, 6 words per bullet
  • One Idea Per Slide: Focus on a single concept
  • Visual Hierarchy: Clear titles and logical flow
  • Speaker Notes: Detailed notes for presenters
  • Consistent Styling: Uniform layouts throughout

Documentation

Dependencies

python-pptx>=0.6.21
Pillow>=9.0.0
beautifulsoup4>=4.9.0
jsonschema>=4.0.0

License

MIT License - See LICENSE file for details.

Contributing

Contributions welcome! Please read our contributing guidelines before submitting PRs.

About

AI-powered presentation generator that transforms structured content into professional PowerPoint presentations

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages