slidev
slides.md (+ optional style.css) without keeping generated artifacts in git.Installation
dagger install github.com/stuttgart-things/dagger/slidev@v0.115.2Entrypoint
Return Type
Slidev Example
dagger -m github.com/stuttgart-things/dagger/slidev@69f4e4a1ea181d8ad19210e354c6749cfb3be69f call \
func (m *MyModule) Example() *dagger.Slidev {
return dag.
Slidev()
}@function
def example() -> dagger.Slidev:
return (
dag.slidev()
)@func()
example(): Slidev {
return dag
.slidev()
}Types
Slidev 🔗
baseImage() 🔗
Return Type
String ! Example
dagger -m github.com/stuttgart-things/dagger/slidev@69f4e4a1ea181d8ad19210e354c6749cfb3be69f call \
base-imagefunc (m *MyModule) Example(ctx context.Context) string {
return dag.
Slidev().
BaseImage(ctx)
}@function
async def example() -> str:
return await (
dag.slidev()
.base_image()
)@func()
async example(): Promise<string> {
return dag
.slidev()
.baseImage()
}build() 🔗
Build runs slidev build and returns the generated dist/ directory ready
to be served by any static host (nginx, MinIO, S3, GitHub Pages, …).
Return Type
Directory !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| slides | File ! | - | No description provided |
| style | File | - | No description provided |
| theme | String | "@slidev/theme-default" | No description provided |
| addons | [String ! ] | - | No description provided |
| extras | Directory | - | No description provided |
| base | String | "/" | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/slidev@69f4e4a1ea181d8ad19210e354c6749cfb3be69f call \
build --slides file:pathfunc (m *MyModule) Example(slides *dagger.File) *dagger.Directory {
return dag.
Slidev().
Build(slides)
}@function
def example(slides: dagger.File) -> dagger.Directory:
return (
dag.slidev()
.build(slides)
)@func()
example(slides: File): Directory {
return dag
.slidev()
.build(slides)
}export() 🔗
Export runs slidev export to produce a printable artifact from the deck:
a single PDF (default), a PPTX file, or a directory of PNGs (one per slide).
Export needs Playwright + headless Chromium, which is not officially
supported on Alpine. To keep the rest of the module on the lightweight
node:22-alpine base, Export builds its own Debian-based container
(node:22-bookworm-slim) with the Chromium system deps and lets Playwright
install its bundled browser via pnpm exec playwright install chromium.
Returns the directory holding the export output: a single slides-export.<format>
file for pdf/pptx, or one <n>.png per slide for png.
Return Type
Directory !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| slides | File ! | - | No description provided |
| style | File | - | No description provided |
| theme | String | "@slidev/theme-default" | No description provided |
| addons | [String ! ] | - | No description provided |
| extras | Directory | - | No description provided |
| format | String | "pdf" | No description provided |
| withClicks | Boolean | - | No description provided |
| dark | Boolean | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/slidev@69f4e4a1ea181d8ad19210e354c6749cfb3be69f call \
export --slides file:pathfunc (m *MyModule) Example(slides *dagger.File) *dagger.Directory {
return dag.
Slidev().
Export(slides)
}@function
def example(slides: dagger.File) -> dagger.Directory:
return (
dag.slidev()
.export(slides)
)@func()
example(slides: File): Directory {
return dag
.slidev()
.export(slides)
}initDeck() 🔗
InitDeck scaffolds a Slidev project from a single slides.md (style.css), installs @slidev/cli plus the chosen theme and any addons, and returns the populated /deck directory.
extras is an optional directory overlaid on /deck/ between dependency
install and the final slides.md/style.css writes. Use it to ship
additional files the deck needs at runtime — e.g. partials referenced via
src: ./slides/... includes, components/, public/ assets, or setup/.
The explicit slides and style files always win over what the overlay
brings.
Return Type
Directory !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| slides | File ! | - | No description provided |
| style | File | - | No description provided |
| theme | String | "@slidev/theme-default" | No description provided |
| addons | [String ! ] | - | No description provided |
| extras | Directory | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/slidev@69f4e4a1ea181d8ad19210e354c6749cfb3be69f call \
init-deck --slides file:pathfunc (m *MyModule) Example(slides *dagger.File) *dagger.Directory {
return dag.
Slidev().
InitDeck(slides)
}@function
def example(slides: dagger.File) -> dagger.Directory:
return (
dag.slidev()
.init_deck(slides)
)@func()
example(slides: File): Directory {
return dag
.slidev()
.initDeck(slides)
}serve() 🔗
Serve runs slidev as a long-lived service bound to 0.0.0.0 on the given
port. Inputs mirror InitDeck so the caller only ships markdown
Return Type
Service !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| slides | File ! | - | No description provided |
| style | File | - | No description provided |
| theme | String | "@slidev/theme-default" | No description provided |
| addons | [String ! ] | - | No description provided |
| extras | Directory | - | No description provided |
| port | String | "3030" | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/slidev@69f4e4a1ea181d8ad19210e354c6749cfb3be69f call \
serve --slides file:pathfunc (m *MyModule) Example(slides *dagger.File) *dagger.Service {
return dag.
Slidev().
Serve(slides)
}@function
def example(slides: dagger.File) -> dagger.Service:
return (
dag.slidev()
.serve(slides)
)@func()
example(slides: File): Service {
return dag
.slidev()
.serve(slides)
}