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
@Serializable
enum CopyCodeButton : Enum<CopyCodeButton>
Link copied to clipboard

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

Link copied to clipboard
@Serializable
enum CopyCodeDisplay : Enum<CopyCodeDisplay>
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

Corner of the viewport a ThemeConfig.logo is pinned to.

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
class PdfConfig

Settings for PDF export, configured via the pdf {} block inside com.kslides.KSlides.output.

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.

Link copied to clipboard

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