package helium
- Alphabetic
- Public
- All
Type Members
-
class
Helium extends AnyRef
Configuration API for the Helium theme settings.
Configuration API for the Helium theme settings.
Helium can be fully configured with its Scala API and does not require any configuration files.
The entry point for all configuration steps is always
Helium.defaults
to ensure there are sensible defaults in place for all the options you omit in your configuration.For each configuration step you need to choose one of the four selectors, either
all
to specify options for all three output formats orsite
,epub
orpdf
to select a single format. Not all options are available for all formats, but the IDE's context help and the documentation below can guide you.In the minimal example below we only specify some metadata for all formats as well as the navigation depth for EPUB and PDF:
val theme = Helium.defaults .all.metadata( title = Some("Project Name"), language = Some("de"), ) .epub.navigationDepth(4) .pdf.navigationDepth(4) .build
Laika also provides convenient constructors for some of the data types used frequently in its theme API. You can import
laika.theme.Color._
for specifying colors withhex("ffaaff")
orrgb(255, 0, 0)
andlaika.ast.LengthUnit._
for specifying sizes withpx(12)
orpt(9)
or other available units.The final call to
build
produces aThemeProvider
that can be passed to Laika's transformers or thelaikaTheme
sbt setting:Example for sbt plugin:
laikaTheme := theme
Example for the library API:
val transformer = Transformer .from(Markdown) .to(EPUB) .parallel[IO] .witTheme(theme) .build