slyds

Multi-File HTML Presentations

One slide per file. Version-controlled. Zero dependencies.

Opening

Welcome! slyds is a CLI tool that lets you author presentations as plain HTML files — one per slide — and build them into a single self-contained HTML file.

The Problem with Slides

What if presentations were just HTML files in a git repo?

The Problem

Traditional slide tools treat presentations as opaque binaries. You can't meaningfully diff them, merge changes from teammates, or track history. slyds solves this by making each slide a plain HTML file.

How It Works

One file per slide, composed into a single presentation

Section: How It Works

Let's look at the core architecture — how slyds composes individual slide files into a complete presentation.

One File Per Slide

Your presentation is a directory of plain HTML files:

my-talk/
  index.html          ← composes slides via includes
  theme.css           ← visual theme
  slyds.css           ← engine styles
  slyds.js            ← navigation engine
  slides/
    01-title.html     ← each slide is its own file
    02-problem.html
    03-solution.html
    04-closing.html

Edit slides independently. Reorder by renaming. Diff with git.

File Structure

Each slide is a standalone HTML fragment. The index.html uses templar include directives to compose them. This means you can diff individual slides, reorder them by renaming files, and use standard git workflows for collaboration.

CLI Commands

# Create a new presentation
slyds init "My Talk" --theme dark -n 10

# Add and manage slides
slyds add "Architecture" --type two-column --after 3
slyds mv 5 2
slyds rm old-slide

# Develop and publish
slyds serve              # live dev server
slyds build              # single self-contained HTML
No build tools, no npm, no config files. Just a single binary.

CLI Commands

slyds provides a complete CLI for managing presentations. init scaffolds a new deck, add/mv/rm manage slides, serve gives you a live dev server, and build produces a single HTML file with everything inlined.

Five Built-in Themes

Default Purple gradient, white cards — conference talks
Dark Cyan accents on dark — code talks and demos
Minimal Clean serif fonts — academic presentations
Corporate Navy blues, clean grays — business decks

Plus the Hacker theme — terminal aesthetics with JetBrains Mono

Themes

slyds ships with 5 themes out of the box. Each theme provides templates for all slide types, custom CSS, and optional static assets like background images. You select a theme at init time, and slyds update lets you refresh the engine without touching your slide content.

slyds vs. Traditional Tools

Traditional

  • Binary formats (pptx, key)
  • No meaningful diffs
  • One person edits at a time
  • Requires specific software
  • Megabytes per file

slyds

  • Plain HTML files
  • Git diff every change
  • Branch, merge, PR
  • Opens in any browser
  • Kilobytes, self-contained

Comparison

The fundamental difference: slyds presentations are text files. Everything that works for code — version control, code review, CI/CD, collaboration — works for your slides too.

Get Started

go install github.com/panyam/slyds@latest
slyds init "My First Talk" --theme dark

github.com/panyam/slyds

"The best presentation tool is the one that gets out of your way."

Closing

Install slyds with a single go install command. Create your first presentation in seconds. Check it into git. Present from any browser. That's it.