Package-level declarations

Types

Link copied to clipboard
abstract class AbstractConfig

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.

Link copied to clipboard

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.

Link copied to clipboard
class ConfigProperty<T>(configMap: MutableMap<String, Any>)

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).

Link copied to clipboard

Configuration for the CopyCode reveal.js plugin. Only takes effect when PresentationConfig.enableCodeCopy is true.

Link copied to clipboard

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.

Link copied to clipboard

Cross-cutting configuration applied to every presentation. Set via com.kslides.KSlides.kslidesConfig.

Link copied to clipboard

iframe sizing and caching settings for letsPlot{} DSL calls. Merged with global + presentation defaults at render time.

Link copied to clipboard

Configuration for the reveal.js menu plugin. Only takes effect when PresentationConfig.enableMenu is true.

Link copied to clipboard
class OutputConfig(val kslides: KSlides)

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.

Link copied to clipboard

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.

Link copied to clipboard

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).

Link copied to clipboard

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.