Skill detail
html-to-pptx
Direct HTML-to-PPTX converter with editable and image modes.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
--- name: html-to-pptx description: "Convert HTML to PowerPoint (PPTX) with excellent Hebrew/RTL support. Use when the user asks to 'convert HTML to PowerPoint', 'create presentation from HTML', 'generate PPTX', 'make slides from HTML', or needs to create PowerPoint presentations programmatically." version: "1.0.0" author: aviz85 tags: - powerpoint - pptx - conversion - html - rtl - hebrew - presentations setup_complete: false setup: "./SETUP.md" --- # HTML to PowerPoint Converter > **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`. Convert HTML to PowerPoint (.pptx) with excellent Hebrew/RTL support using PptxGenJS. ## Setup (One-time) ```bash cd ~/.claude/skills/html-to-pptx && npm install ``` ## Quick Usage ### Basic conversion: ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js input.html output.pptx ``` ### Hebrew document with RTL: ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html presentation.pptx --rtl ``` ### Convert URL to PowerPoint: ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js https://example.com slides.pptx ``` ### Complex HTML as images (pixel-perfect): ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js complex.html slides.pptx --mode=image ``` ## Conversion Modes | Mode | Description | Best For | |------|-------------|----------| | `text` | Parse HTML, create native PPTX elements | Simple HTML, editable text | | `image` | Screenshot HTML, embed as images | Complex layouts, exact rendering | | `auto` | Auto-detect best mode | Default | ## Options | Option | Description | Default | |--------|-------------|---------| | `--mode=<mode>` | text, image, auto | auto | | `--rtl` | Force RTL for Hebrew/Arabic | auto-detect | | `--title=<title>` | Presentation title | auto | | `--author=<author>` | Author name | AVIZ | | `--layout=<layout>` | LAYOUT_16x9, LAYOUT_4x3 | LAYOUT_16x9 | | `--font=<font>` | Default font | Heebo (Hebrew) / Arial | | `--font-size=<size>` | Font size in points | 18 | | `--background=<color>` | Background color (hex) | - | | `--slide-per=<selector>` | Split slides by CSS selector | - | | `--wait=<ms>` | Wait for rendering (image mode) | 2000 | ## Examples ### Hebrew presentation: ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html slides.pptx --rtl --font=Heebo ``` ### Split by sections: ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --slide-per=section ``` ### Custom styling: ```bash node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --font=David --font-size=24 --background=F5F5F5 ``` ### Pipe HTML: ```bash echo "<h1>שלום עולם</h1>" | node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js - output.pptx --rtl ``` ## Hebrew Best Practices 1. Use `<html lang="he" dir="rtl">` in HTML 2. Always add `--rtl` flag 3. Use Hebrew-supporting fonts: Heebo, David, Noto Sans Hebrew 4. For complex layouts, use `--mode=image` for pixel-perfect results ## Slide Structure The converter auto-detects slide boundaries: 1. `<section>` elements 2. `<article>` elements 3. `.slide` class 4. `<hr>` elements Or use `--slide-per=".my-slide"` for custom selectors.Read the full source on GitHub (opens external page)