Package-level declarations
Types
Base class for all configuration types. Keeps reveal.js-native options and kslides-native options in two separate maps so they can be serialized differently — reveal.js values are emitted into the Reveal.initialize({...}) call as-is; kslides values drive HTML generation (page head, corner links, etc.) before ever reaching reveal.js.
Receiver for com.kslides.codeSnippet blocks. Describes a single reveal.js <pre><code> element with optional line highlighting, line numbers, and a copy-to-clipboard button.
Property delegate for kslides config options. Stores each assignment into the supplied configMap keyed by the Kotlin property name, which lets the config cascade work by simple map merge and lets AbstractConfig enumerate which options were actually set (rather than emitting every reveal.js default into the generated JS).
Configuration for the CopyCode reveal.js plugin. Only takes effect when PresentationConfig.enableCodeCopy is true.
Rendering and sizing options for Kroki diagrams. Instantiated both as a standalone presentation default and as the superclass of com.kslides.DiagramDescription used inside com.kslides.diagram blocks.
Cross-cutting configuration applied to every presentation. Set via com.kslides.KSlides.kslidesConfig.
iframe sizing and caching settings for letsPlot{} DSL calls. Merged with global + presentation defaults at render time.
Configuration for the reveal.js menu plugin. Only takes effect when PresentationConfig.enableMenu is true.
Controls where and how presentations are emitted. Configured via com.kslides.KSlides.output. Both output modes can be enabled simultaneously; if neither is enabled a warning is logged and no output is produced.
Kotlin Playground embedding options. The top section mirrors the attributes defined by the Kotlin Playground library itself; the lower section controls the iframe wrapper kslides generates around it.
Presentation-level configuration — mirrors the reveal.js config options plus kslides-specific settings for theme, corner links, Google Analytics, and nested sub-configs (menuConfig, copyCodeConfig, slideConfig, playgroundConfig, letsPlotIframeConfig, diagramConfig).
Per-slide configuration that can also be set at the global or presentation level and cascaded. Most values are emitted as data-* attributes on the slide's <section> at render time.