DSL
Public DSL for building presentations in a small, declarative style.
The DSL is split into two levels:
- presentation-level builders, used to compose a whole deck
- slide-level builders, used to compose the content of a single slide
The public entry point is presentation, which can be used either with the default theme or with an explicit theme configuration.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
DSL.type
Members list
Type members
Classlikes
Presentation builder with all global configuration already chosen.
Presentation builder with all global configuration already chosen.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Slide collected during DSL evaluation, before full validation happens.
Slide collected during DSL evaluation, before full validation happens.
The DSL builds slides in two stages: first as lightweight pending values, then as fully validated domain slides.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Presentation-level builder.
Presentation-level builder.
A PresBuild is just a transformation of PresentationState, but giving that transformation a dedicated type makes the DSL much easier to read.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Immutable configuration for a presentation before content is evaluated.
Immutable configuration for a presentation before content is evaluated.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Entry point for configuring a presentation before its body is evaluated.
Entry point for configuring a presentation before its body is evaluated.
This type exists to make the DSL read naturally while keeping configuration concerns, such as theme selection, separate from content.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Mutable-in-spirit state threaded through presentation-level builders.
Mutable-in-spirit state threaded through presentation-level builders.
Despite its name, the state remains immutable: each builder returns a new state rather than mutating the existing one.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Slide-level builder.
Slide-level builder.
A SlideBuild describes how to extend the content of a single slide.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Immutable state threaded through slide-level builders.
Immutable state threaded through slide-level builders.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Value members
Concrete methods
Adds a bullet list to the current slide.
Adds a bullet list to the current slide.
Attributes
Adds a code block to the current slide.
Adds a code block to the current slide.
Attributes
Combines slide-level builders into a single slide body.
Combines slide-level builders into a single slide body.
Attributes
Combines presentation-level builders into a single deck definition.
Combines presentation-level builders into a single deck definition.
Attributes
Adds an image to the current slide.
Adds an image to the current slide.
Attributes
Starts a presentation definition.
Starts a presentation definition.
Typical usage:
presentation("Demo").use(Theme.conference) {
deck(
slide("Intro") {
content(text("Hello"))
}
)
}
Attributes
Adds a slide to the current presentation.
Adds a slide to the current presentation.
Value parameters
- layout
-
visual layout used by renderers
- title
-
slide title
Attributes
Adds vertical spacing to the current slide.
Adds vertical spacing to the current slide.
Attributes
Adds a paragraph to the current slide.
Adds a paragraph to the current slide.