DslSlide
Shared contract for slides whose content is authored with the kotlinx.html DSL. Implemented by HorizontalDslSlide and VerticalDslSlide. This is the only slide type that can host the extension DSLs (com.kslides.playground, com.kslides.diagram, com.kslides.codeSnippet, letsPlot{}).
Members prefixed with private_ are implementation details (crossing the DSL/renderer boundary) and should not be called by user code. The exposed global*Config / presentation*Config / *Path accessors are intended for extension DSLs that need to look up merged configuration and output paths when generating iframe content.
Inheritors
Properties
Global default com.kslides.config.DiagramConfig for com.kslides.diagram calls.
Global default com.kslides.config.LetsPlotIframeConfig for letsPlot{} calls.
Global default com.kslides.config.PlaygroundConfig for com.kslides.playground calls.
Version of the Lets-Plot JS runtime loaded by generated Lets-Plot iframes.
Filesystem directory where Lets-Plot iframe HTML files are written.
Filesystem directory where Playground iframe HTML files are written.
The Presentation that owns this slide.
Per-presentation com.kslides.config.DiagramConfig overrides.
Per-presentation com.kslides.config.LetsPlotIframeConfig overrides.
Per-presentation com.kslides.config.PlaygroundConfig overrides.
Implementation detail — do not use.
Implementation detail — do not use.
Implementation detail — counter for per-slide iframe filenames.
Implementation detail — unique slide id used to generate iframe filenames.
Implementation detail — do not use.
Functions
fun DslSlide.diagram(diagramType: DiagramType, diagramBlock: DiagramDescription.() -> Unit): ERROR CLASS: Ambiguity: diagram, [com/kslides/diagram, com/kslides/diagram]
Type-safe overload of diagram taking a DiagramType enum instead of a raw Kroki type string, so a mistyped diagram type is a compile error. Delegates to the String overload.
fun DslSlide.diagram(diagramType: String, diagramBlock: DiagramDescription.() -> Unit)
include variant for use inside a com.kslides.slide.DslSlide content{} block. Same semantics as CODE.include — HTML escaping and the indent token are turned off.
Resolve filename in the Kroki output directory, reachable from this slide's page.
Resolve filename in the Lets-Plot output directory, reachable from this slide's page.
Generate a unique per-slide filename for iframe or image content. Each call increments the internal counter so multiple playgrounds / diagrams / plots on the same slide get distinct filenames.
fun DslSlide.playground(srcName: String, vararg otherSrcs: String = emptyArray(), configBlock: PlaygroundConfig.() -> Unit = {})
Embed an interactive Kotlin Playground iframe inside a DslSlide content{} block. The source file referenced by srcName is inlined into the Playground editor; any otherSrcs are attached as hidden <textarea class="hidden-dependency"> elements that Playground loads alongside the main file.
Resolve filename in the Playground output directory, reachable from this slide's page.
Apply the slide's attributes to the enclosing <section>. Invoked by the renderer.