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 or site
, epub
or pdf
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 with hex("ffaaff")
or rgb(255, 0, 0)
and
laika.ast.LengthUnit._
for specifying sizes with px(12)
or pt(9)
or other available units.
The final call to build
produces a ThemeProvider
that can be passed to Laika's transformers
or the laikaTheme
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
- Companion
- object
Type members
Classlikes
Selects the configuration options available for all three output formats.
Selects the configuration options available for all three output formats.
This means that it only contains the options that exist in all three formats, for anything specific to one or two formats you need to use their respective selectors.
Selects the configuration options available for EPUB generation.
Selects the configuration options available for EPUB generation.
Selects the configuration options available for PDF generation.
Selects the configuration options available for PDF generation.
Value members
Concrete methods
Builds a theme provider that can be passed to the sbt plugin's laikaTheme
setting
or the withTheme
method of parsers and transformers when using the library API.
Builds a theme provider that can be passed to the sbt plugin's laikaTheme
setting
or the withTheme
method of parsers and transformers when using the library API.