Skip to content

MoSaleh-AKB/slide-maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 Slide Maker

Universal Slide Maker - Create professional presentations from Markdown or JSON with AI-powered images, RTL support, and beautiful themes.

License: MIT Node.js Version

✨ Features

  • πŸ“ 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

πŸš€ Quick Start

Installation

# 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

Create Your First Presentation

# 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

πŸ“– Usage

CLI Commands

# 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

Options

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

πŸ“ Input Formats

Markdown Format

---
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

![hero](gemini: professional business scene)

---

[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

JSON Format

{
  "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" }
      }
    }
  ]
}

🎨 Themes

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

πŸ“ Templates

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

πŸ”„ RTL Support

Slide Maker automatically detects Persian/Arabic text and applies RTL layout:

---
direction: right  # or 'auto' for detection
---

# ΨΉΩ†ΩˆΨ§Ω† فارسی

- Ω†Ϊ©ΨͺΩ‡ Ψ§ΩˆΩ„
- Ω†Ϊ©ΨͺΩ‡ Ψ―ΩˆΩ…

Direction options:

  • left - Force left-to-right
  • right - Force right-to-left
  • auto - Auto-detect from content

πŸ“Š Charts

Supported chart types:

  • bar - Horizontal bars
  • column - Vertical columns
  • line - Line graph
  • pie - Pie chart
  • doughnut - Doughnut chart
  • area - Area chart
[chart:line]
labels: Jan, Feb, Mar, Apr
data: 10, 25, 40, 55
title: Monthly Growth
[/chart]

πŸ–ΌοΈ Images

Gemini AI (Custom Images)

![alt](gemini: professional team meeting in modern office)

Unsplash (Stock Photos)

![alt](unsplash: business technology abstract)

Local Files

![alt](./images/logo.png)

πŸ› οΈ Development

Project Structure

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

Run Examples

# English example
npm run example:simple

# Persian RTL example
npm run example:persian

πŸ“„ License

MIT License - feel free to use in your projects!

🀝 Contributing

Contributions welcome! Please read the contributing guidelines first.

πŸ“ž Support


Made with ❀️ by MoSaleh-AKB

About

🎯 Universal Slide Maker - Create professional presentations from Markdown/JSON with AI-powered images, RTL support, and beautiful themes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors