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.
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.
Corner of the viewport a ThemeConfig.logo is pinned to.
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.
Settings for PDF export, configured via the pdf {} block inside com.kslides.KSlides.output.
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.
Type-safe theming on top of a stock reveal.js theme, configured via the customTheme {} block inside PresentationConfig (globally or per presentation, cascading like every other config).