Skip to content

Slidev Presentations

Generate a full Slidev deck from a project's diagrams + ADRs (or raw markdown), then build it into a deployable site.

Base URL: https://archlint.dev · 30 req/min per IP.

The flow

generate  →  get slides.md  →  build  →  deck ready (serve / export)
  1. Generate — turn a project (or markdown) into Slidev slides.md.
  2. Build — compile that markdown into a static deck.
  3. List — see the decks you've built.

1. Generate

From a project (diagrams + ADRs)

curl -s https://archlint.dev/api/slides/generate -H 'Content-Type: application/json' \
  -d '{"project_id":"<uuid>"}'

From raw markdown

curl -s https://archlint.dev/api/slides/generate -H 'Content-Type: application/json' \
  -d '{"content":"# My Deck\n\n---\n\n# Slide 2\n\nSome content.","title":"My Deck"}'

Request fields

Field Type Default Description
project_id string? — Generate from a project's diagrams + ADRs (mutually exclusive with content)
content string? — Raw markdown to transform into slides
title string? project name Deck title
theme string? default Slidev theme override
include_presenter_notes bool true Add presenter notes (HTML comments) to each slide
render_diagrams bool true Pre-render diagram SVGs (set false for a quick text-only preview)

Response

{
  "slides_md": "---\ntitle: …\n---\n\n# Cover\n…",
  "slide_count": 8,
  "title": "Payment System",
  "theme": "default",
  "render_stats": {
    "diagrams_total": 3,
    "diagrams_rendered": 3,
    "diagrams_fallback": 0,
    "cache_hits": 0,
    "generation_time_ms": 142
  }
}

slides_md is the complete Slidev deck. Diagrams are pre-rendered to SVG and embedded as base64 data-URIs (or fall back to source code blocks if a type can't be rendered).

2. Build

Send the generated markdown to the Slidev builder:

curl -s https://archlint.dev/api/slides/build -H 'Content-Type: application/json' \
  -d '{"slides_md":"---\ntitle: My Deck\n---\n\n# Hello\n"}'

This compiles the deck into a static site you can serve or export.

3. List decks

curl -s https://archlint.dev/api/slides/decks

Returns the decks the Slidev service has built.

Exporting (PDF / PPTX)

Slidev decks are static — once built, export with the standard Slidev tooling:

# from a local checkout of the deck markdown
npx @slidev/cli export slides.md        # PDF (needs Playwright)
npx @slidev/cli export slides.md --format pptx

Errors

  • 400 — invalid/missing project_id or content
  • 404 — project not found
  • 502 / 504 — Slidev service unreachable
  • 429 — rate limit, with Retry-After