Share your Slidev and Marp slides
Keep the live deck on GitHub Pages. Upload a PDF of it to Speaker Deck so people browsing talks can find it, read every slide and embed it.
Sign up for freeGitHub Pages and Speaker Deck, side by side
They do different jobs, so many speakers use both.
| How they compare | GitHub Pages | Speaker Deck |
|---|---|---|
| What you publish | The built HTML deck, with animations, clicks and live code. | A PDF export, one page per slide. |
| Setup | A GitHub Actions workflow, the right base path, and Pages turned on in your repository settings. | Upload the PDF in your browser. |
| Cost | Free for public repositories. | Free. Pro adds private links, password protection and download controls. |
| How people find it | People find it through your links and your repository. | Your profile, categories, featured decks, search and an Atom feed of your decks. |
| Slide text on the page | Marp's HTML holds the slide text. A Slidev build is a single-page JavaScript app, so its text appears after scripts run. | The text of every slide is in a transcript below the deck. |
| Embedding | Put the Pages URL in an iframe. | An embed code and oEmbed, which WordPress and many other sites pick up from a link. |
| Downloads | Whatever files you publish. | Viewers can download the PDF unless you turn downloads off (Pro). |
Export a PDF in one command
Slidev
Slidev exports with Playwright. Install it once, then export. The PDF lands at slides-export.pdf.
npm i -D playwright-chromium
npx slidev export
Marp
Marp CLI writes a PDF when you pass --pdf. It needs Chrome, Edge or Firefox installed.
npx @marp-team/marp-cli --pdf slides.md
Then upload it to Speaker Deck. More export tips are in the file type FAQ.