Universal Slide Maker - Create professional presentations from Markdown or JSON with AI-powered images, RTL support, and beautiful themes.
- π Multiple Input Formats - Write in Markdown, JSON, or natural language
- π¨ 5 Professional Themes - Corporate, Academic, Creative, Minimal, Islamic/Persian
- π 13 Slide Templates - Title, Content, Charts, Timeline, Quote, and more
- π RTL Support - Full Persian/Arabic support with auto-detection
- πΌοΈ AI Images - Integration-ready for Gemini and Unsplash
- π Charts & Tables - Bar, Line, Pie, Column, Area charts
- β Validation - Visual inspection before delivery
# Clone the repository
git clone https://github.com/MoSaleh-AKB/slide-maker.git
cd slide-maker
# Install dependencies
npm install
# Link CLI globally (optional)
npm link# Initialize a sample presentation
slide-maker init my-presentation
# Build it
slide-maker build my-presentation.md -o output/presentation.pptx
# Or use npm script
npm run example:simple# Build from Markdown
slide-maker build presentation.md -o output/deck.pptx
# Build from JSON
slide-maker build config.json --theme bold-creative
# With RTL support
slide-maker build persian.md --direction right
# List available themes
slide-maker themes
# List available templates
slide-maker templates
# Create sample file
slide-maker init my-deck --format md| Option | Description | Default |
|---|---|---|
-o, --output |
Output file path | output/presentation.pptx |
-t, --theme |
Theme name | corporate-modern |
-d, --direction |
Text direction: left, right, auto | auto |
-f, --format |
Output formats (pptx,pdf) | pptx |
--image-source |
Image source: gemini, unsplash, none | gemini |
--no-images |
Skip image generation | false |
-v, --validate |
Validate output | false |
--verbose |
Show detailed logs | false |
---
title: My Presentation
theme: corporate-modern
author: Your Name
direction: auto
---
# Welcome Slide
subtitle: Introduction
---
### Key Points
- First important point
- Second key insight
- Third compelling argument

---
[chart:bar]
labels: Q1, Q2, Q3, Q4
data: 25, 45, 65, 85
title: Quarterly Growth
[/chart]
---
## Thank You
cta: Let's Connect!
contact: email@example.com{
"metadata": {
"title": "Presentation Title",
"theme": "bold-creative",
"direction": "auto"
},
"slides": [
{
"template": "title",
"data": {
"title": "Welcome",
"subtitle": "Introduction"
}
},
{
"template": "content-image-right",
"data": {
"title": "Key Benefits",
"points": ["Point 1", "Point 2"],
"image": { "source": "gemini", "prompt": "business success" }
}
}
]
}| Theme | Best For |
|---|---|
corporate-modern |
Business presentations, reports |
minimal-light |
Clean designs, portfolios |
academic |
Research, educational content |
bold-creative |
Startups, creative pitches |
islamic-dark |
Persian content, religious topics |
| Template | Description |
|---|---|
title |
Opening slide |
section-divider |
Section breaks |
content-image-right |
Text + image layout |
content-image-left |
Image + text layout |
two-column |
Side-by-side comparison |
quote |
Large quote display |
three-cards |
Feature cards |
chart |
Data visualization |
timeline |
Process/history |
table |
Data tables |
big-number |
Statistics |
closing |
Call-to-action |
full-image |
Full-bleed image |
Slide Maker automatically detects Persian/Arabic text and applies RTL layout:
---
direction: right # or 'auto' for detection
---
# ΨΉΩΩΨ§Ω ΩΨ§Ψ±Ψ³Ϋ
- ΩΪ©ΨͺΩ Ψ§ΩΩ
- ΩΪ©ΨͺΩ Ψ―ΩΩ
Direction options:
left- Force left-to-rightright- Force right-to-leftauto- Auto-detect from content
Supported chart types:
bar- Horizontal barscolumn- Vertical columnsline- Line graphpie- Pie chartdoughnut- Doughnut chartarea- Area chart
[chart:line]
labels: Jan, Feb, Mar, Apr
data: 10, 25, 40, 55
title: Monthly Growth
[/chart]slide-maker/
βββ cli.js # CLI entry point
βββ src/
β βββ index.js # Main API
β βββ builder.js # Core builder
β βββ parsers/ # Input parsers
β βββ themes/ # Theme system
β βββ templates/ # Template engine
β βββ images/ # Image handling
β βββ charts/ # Chart builder
β βββ utils/ # Utilities
βββ themes/ # CSS theme files
βββ templates/ # HTML templates
βββ examples/ # Sample files
βββ docs/ # Documentation
# English example
npm run example:simple
# Persian RTL example
npm run example:persianMIT License - feel free to use in your projects!
Contributions welcome! Please read the contributing guidelines first.
- π§ Email: [your-email]
- π Issues: GitHub Issues
Made with β€οΈ by MoSaleh-AKB