object site extends SiteOps
Selects the configuration options available for site generation.
- Alphabetic
- By Inheritance
- site
- SiteOps
- CopyOps
- SingleConfigOps
- ColorOps
- CommonConfigOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addFontResources(defn: FontDefinition*): Helium
Adds one or more font resources to the theme, either based on a local classpath or file system resource, or a web font URL, or both.
Adds one or more font resources to the theme, either based on a local classpath or file system resource, or a web font URL, or both.
E-book formats like EPUB or PDF require a local font file to be available for embedding. A web font URL can only be used for website generation.
When using this method, all default fonts of the Helium theme will be de-registered.
- Definition Classes
- CommonConfigOps
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
baseURL(url: String): Helium
Specifies the base URL where the rendered site will be hosted.
Specifies the base URL where the rendered site will be hosted. This configuration option allows to turn internal links into external ones for documents which will be part of the rendered site, but are not included in other formats like EPUB or PDF.
- Definition Classes
- SiteOps
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
copyWith(pdfSettings: PDFSettings): Helium
- Attributes
- protected
- Definition Classes
- CopyOps
-
def
copyWith(epubSettings: EPUBSettings): Helium
- Attributes
- protected
- Definition Classes
- CopyOps
-
def
copyWith(siteSettings: SiteSettings): Helium
- Attributes
- protected
- Definition Classes
- CopyOps
-
def
currentColors: ColorSet
- Attributes
- protected
- Definition Classes
- SiteOps → ColorOps
-
def
currentContent: WebContent
- Attributes
- protected
- Definition Classes
- SiteOps
-
def
currentLayout: WebLayout
- Attributes
- protected
- Definition Classes
- SiteOps
-
def
currentMetadata: DocumentMetadata
- Attributes
- protected
- Definition Classes
- SiteOps → SingleConfigOps
-
def
darkMode: DarkModeOps
Allows to add a second color set for dark mode.
Allows to add a second color set for dark mode. The implementation is based on the
prefers-color-scheme
media query and requires browsers supporting dark mode.- Definition Classes
- SiteOps
-
def
downloadPage(title: String, description: Option[String], downloadPath: Path = Root / "downloads", includeEPUB: Boolean = true, includePDF: Boolean = true): Helium
Adds a download page to the generated site that contains links to EPUB and PDF versions of the site.
Adds a download page to the generated site that contains links to EPUB and PDF versions of the site. When the sbt plugin is used, this setting will automatically trigger the rendering of the corresponding EPUB and PDF documents when running
laikaSite
. When the library API is used, this setting only causes the inclusion of the download page itself, the actual EPUB and PDF content must be generated by running the respective renderers manually.- title
the title to display on the page and in navigation that links to the page
- description
a short description that appears on the download page right under the title
- downloadPath
the virtual path the EPUB and PDF documents will be generated into
- includeEPUB
whether EPUB documents will be automatically generated (only having an effect when using the sbt plugin)
- includePDF
whether PDF documents will be automatically generated (only having an effect when using the sbt plugin)
- Definition Classes
- SiteOps
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
externalCSS(url: String, attributes: StyleAttributes = StyleAttributes.defaults, condition: (Document) ⇒ Boolean = _ => true): Helium
Links an external CSS resource from the specified URL.
Links an external CSS resource from the specified URL.
The
condition
attribute can be used to only include the CSS when some user-defined predicates are satisfied.- Definition Classes
- SiteOps
-
def
externalJS(url: String, attributes: ScriptAttributes = ScriptAttributes.defaults, condition: (Document) ⇒ Boolean = _ => true): Helium
Links an external JavaScript resource from the specified URL.
Links an external JavaScript resource from the specified URL.
The
condition
attribute can be used to only include the CSS when some user-defined predicates are satisfied.- Definition Classes
- SiteOps
-
def
favIcons(icons: Favicon*): Helium
Adds one or more favicons which can be an internal resource or an external URL.
Adds one or more favicons which can be an internal resource or an external URL.
- Definition Classes
- SiteOps
-
def
fontFamilies(body: String, headlines: String, code: String): Helium
Specifies which font family to use for the body text, for headlines and for inline code and code blocks.
Specifies which font family to use for the body text, for headlines and for inline code and code blocks.
All specified fonts need to be made available for the theme first by using the
fontResources
method. The body font needs to be available at least as regular, italic, bold and bold italic. The headline font needs to support bold and bold italic. For the code font a regular font weight is sufficient.- Definition Classes
- SingleConfigOps → CommonConfigOps
-
def
fontResources(defn: FontDefinition*): Helium
- Definition Classes
- SiteOps → SingleConfigOps → CommonConfigOps
-
def
fontSizes(body: Length, code: Length, title: Length, header2: Length, header3: Length, header4: Length, small: Length): Helium
Configure the theme's font sizes.
Configure the theme's font sizes. Most property names are self-explanatory, the small font is currently only used for footnote references in PDF output.
- Definition Classes
- SingleConfigOps → CommonConfigOps
-
def
footer(html: String): Helium
Defines a footer as raw HTML output.
Defines a footer as raw HTML output.
A horizontal rule will be inserted by the template and should not be part of this sequence.
- Definition Classes
- SiteOps
-
def
footer(spans: Span*): Helium
Defines a footer as a sequence of AST elements.
Defines a footer as a sequence of AST elements.
A horizontal rule will be inserted by the template and should not be part of this sequence. An empty parameter list will only remove the default Laika footer.
- Definition Classes
- SiteOps
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
helium: Helium
- Attributes
- protected
- Definition Classes
- site → CopyOps
-
def
inlineCSS(content: String, condition: (Document) ⇒ Boolean = _ => true): Helium
Inserts inline style declarations into the HTML head.
Inserts inline style declarations into the HTML head.
The
condition
attribute can be used to only include the CSS when some user-defined predicates are satisfied.- Definition Classes
- SiteOps
-
def
inlineJS(content: String, isModule: Boolean = false, condition: (Document) ⇒ Boolean = _ => true): Helium
Inserts inline scripts into the HTML head.
Inserts inline scripts into the HTML head.
The
condition
attribute can be used to only include the CSS when some user-defined predicates are satisfied.- Definition Classes
- SiteOps
-
def
internalCSS(searchPath: Path, attributes: StyleAttributes = StyleAttributes.defaults, condition: (Document) ⇒ Boolean = _ => true): Helium
Auto-links CSS documents from the specified path, which may point to a single CSS document or a directory.
Auto-links CSS documents from the specified path, which may point to a single CSS document or a directory. In case of a directory it will be searched recursively and all CSS files found within it will be linked in the HTML head.
The
condition
attribute can be used to only include the CSS when some user-defined predicates are satisfied.- Definition Classes
- SiteOps
-
def
internalJS(searchPath: Path, attributes: ScriptAttributes = ScriptAttributes.defaults, condition: (Document) ⇒ Boolean = _ => true): Helium
Auto-links JavaScript documents from the specified path, which may point to a single JS document or a directory.
Auto-links JavaScript documents from the specified path, which may point to a single JS document or a directory. In case of a directory it will be searched recursively and all
*.js
files found within it will be linked in the HTML head.The
condition
attribute can be used to only include the CSS when some user-defined predicates are satisfied.- Definition Classes
- SiteOps
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
landingPage(logo: Option[Image] = None, title: Option[String] = None, subtitle: Option[String] = None, latestReleases: Seq[ReleaseInfo] = Nil, license: Option[String] = None, titleLinks: Seq[ThemeLink] = Nil, documentationLinks: Seq[TextLink] = Nil, projectLinks: Seq[ThemeLinkSpan] = Nil, teasers: Seq[Teaser] = Nil, styles: Seq[Path] = Nil): Helium
Adds a dedicated landing page to the site that is tailored for software documentation sites.
Adds a dedicated landing page to the site that is tailored for software documentation sites. By default no landing page will be included and the site will render the homepage (if present) with the same default template as the main content pages.
See the section "Website Landing Page" in the "Theme Settings" chapter for visual guide to the layout of the page.
All arguments of this method are optional, but the page would look strange if you omit most of them.
Additionally or alternatively you can also add a regular markup document called
landing-page.<suffix>
to one of your input directories and its content will be inserted at the bottom of this page. This is in case you want to stick with the traditional approach of some sites, which give you 'Getting Started' style content right on the start page. It can also be used to list adopters, provide a feature overview or links to presentations or videos.- logo
a logo to be placed on the left hand side of the header
- title
a title to be placed right under the logo
- subtitle
a subtitle to be place right under the title
- latestReleases
a set of release versions to display on the right side of the header
- license
the license info to render right under the release info
- titleLinks
a row of links to render beneath the subtitle on the left side of the header
- documentationLinks
a set of documentation links to render in a dedicated panel on the right side of the header
- projectLinks
a set of project links to render at the bottom of the right side of the header
- teasers
a set of teasers containing of headline and description to render below the header
- styles
internal paths to additional CSS files that should be linked to the landing page
- Definition Classes
- SiteOps
-
def
layout(contentWidth: Length = currentLayout.contentWidth, navigationWidth: Length = currentLayout.navigationWidth, topBarHeight: Length = currentLayout.topBarHeight, defaultBlockSpacing: Length = currentLayout.defaultBlockSpacing, defaultLineHeight: Double = currentLayout.defaultLineHeight, anchorPlacement: AnchorPlacement = currentLayout.anchorPlacement): Helium
Allows to override the defaults for Helium's layout.
Allows to override the defaults for Helium's layout. You can use the constructors found in the
LengthUnit
companion to create length values, e.g.LengthUnit.px(12)
. It's usually most convenient to importlaika.ast.LengthUnit._
for your configuration code.- contentWidth
the maximum width of the main content column
- navigationWidth
the width of the left navigation sidebar
- topBarHeight
the height of the top navigation bar
- defaultBlockSpacing
the default space between block elements
- defaultLineHeight
the default line height
- anchorPlacement
the placement of anchors for copying the links of section headlines (left, right or none)
- Definition Classes
- SiteOps
-
def
mainNavigation(depth: Int = currentContent.mainNavigation.depth, includePageSections: Boolean = ..., prependLinks: Seq[ThemeNavigationSection] = Nil, appendLinks: Seq[ThemeNavigationSection] = Nil): Helium
Configures the main (left) navigation pane.
Configures the main (left) navigation pane.
By default the navigation is auto-generated from the available sources to a navigation depth of 2. This API allows to override some defaults and to prepend or append additional navigation links.
If the
includePageSections
parameter is set to true, the navigation structure will not only reflect the directory structure and the documents within, but also the section headers on individual pages. This option may be attractive if you only have very few pages in your site and want to make better use of the space in the left navigation pane. Note that sections may still be filtered based on your setting for the overall navigation depth.You can also append or prepend additional sections of links, each with a section header and one or more links. Prepending may not be desirable if you also configure a table of content or a download page, as the prepended links would appear before them.
If you increase the depth to a value higher than 3 you might want to include custom CSS for the levels 4 and higher as Laika comes with styling for three layers out of the box.
- depth
the depth of the navigation structure, two by default
- includePageSections
indicates whether sections on pages should be included (false by default)
- prependLinks
navigation sections to place above the auto-generated navigation structure
- appendLinks
navigation sections to place below the auto-generated navigation structure
- Definition Classes
- SiteOps
-
def
messageColors(info: Color, infoLight: Color, warning: Color, warningLight: Color, error: Color, errorLight: Color): Helium
- Definition Classes
- ColorOps
-
def
metadata(title: Option[String] = None, description: Option[String] = None, identifier: Option[String] = None, authors: Seq[String] = Nil, language: Option[String] = None, datePublished: Option[OffsetDateTime] = None, dateModified: Option[OffsetDateTime] = None, version: Option[String] = None): Helium
Allows to define a small set of metadata that describes the output.
Allows to define a small set of metadata that describes the output.
In the generated site it will be used to populate the
<head>
section of the HTML output, for EPUB and PDF it will be used to embed the information into the generated files in a way that the respective readers understand.When using the sbt plugin the
title
,description
andversion
metadata will be pre-populated by the standard sbt settingsname
,description
andversion
respectively. When using the library API no medata will be defined by default. It is recommended to always define the language and title as the minimum set of metadata.- title
the title of the site and/or e-book
- description
a short description of the site and/or e-book
- identifier
a unique identifier for the e-book, not used for site generation
- authors
one or more author names
- language
the language of the site and/or e-book, should always be defined
- datePublished
the publication date as a UTC date-time
- dateModified
the modification date as a UTC date-time
- version
the version string for the output
- Definition Classes
- SingleConfigOps → CommonConfigOps
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
pageNavigation(enabled: Boolean = ..., depth: Int = currentContent.pageNavigation.depth, sourceBaseURL: Option[String] = ..., sourceLinkText: String = ..., keepOnSmallScreens: Boolean = ...): Helium
Configures the page navigation bar on the top-right side of the content pane
Configures the page navigation bar on the top-right side of the content pane
- enabled
indicates whether the page navigation should be included.
- depth
the of the navigation structure, two by default.
- sourceBaseURL
the base URL for the markup sources of the rendered pages.
- sourceLinkText
the link text to show on links to markup sources.
- keepOnSmallScreens
indicates whether the page navigation should be included on small screens, where it will move from a top-right box to the top of the main content pane.
- Definition Classes
- SiteOps
-
def
resetDefaults(mainNavigation: Boolean = false, topNavigation: Boolean = false, favIcons: Boolean = false): Helium
Resets the specified UI elements receiving a true flag to the defaults.
Resets the specified UI elements receiving a true flag to the defaults.
This method can be used in rare cases where a configuration that has been pre-populated with some UI elements beyond the built-in defaults of Helium should get reset without falling back to the basic
Helium.defaults
. This cannot be done with the regular configuration methods as some properties of typeSeq[A]
behave in an additive way, meaning that if you call.site.topNavigationBar(navLinks = Seq(...))
those links will be added to those already present.If starting from
Helium.defaults
directly this method has no effect as Laika does not pre-populate thoseSeq[A]
settings. But 3-rd party tools might provide a Helium instance with additional elements.- mainNavigation
indicates whether the main (left) navigation pane should reset to the auto-generated list
- topNavigation
indicates whether the top navigation bar should remove any pre-populated links
- favIcons
indicates that the list of favicons should be cleared
- Definition Classes
- SiteOps
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
syntaxHighlightingColors(base: ColorQuintet, wheel: ColorQuintet): Helium
- Definition Classes
- ColorOps
-
def
tableOfContent(title: String, depth: Int): Helium
Adds a dedicated page for a table of content, in addition to the left navigation bar.
Adds a dedicated page for a table of content, in addition to the left navigation bar.
- title
the title to display on the page and in navigation that links to the page
- depth
the navigation depth which may be different than the one for the navigation bar
- Definition Classes
- SiteOps → CommonConfigOps
-
def
themeColors(primary: Color, primaryMedium: Color, primaryLight: Color, secondary: Color, text: Color, background: Color, bgGradient: (Color, Color)): Helium
- Definition Classes
- ColorOps
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
topNavigationBar(homeLink: ThemeLink = ..., navLinks: Seq[ThemeLink] = Nil, versionMenu: VersionMenu = ..., highContrast: Boolean = ...): Helium
Configures the top navigation bar of the main content pages.
Configures the top navigation bar of the main content pages.
- homeLink
the link to the homepage, by default pointing to
index.html
and using the Helium home icon.- navLinks
an optional set of links to be placed at the right side of the bar, supported link types are
IconLink
,ButtonLink
,ImageLink
and a plainTextLink
- versionMenu
defines labels and optionally additional links for the version switcher menu
- highContrast
indicates whether the background color should have a high contrast to the background of the page (darker in light mode and lighter in dark mode).
- Definition Classes
- SiteOps
-
def
versions(versions: Versions): Helium
Specify the configuration for versioned documentation, a core Laika feature simply exposed via the Helium Config API.
Specify the configuration for versioned documentation, a core Laika feature simply exposed via the Helium Config API.
The specified configuration allows to define the current version as well as any older or newer versions. For each version the
pathSegment
property holds the value that should use as part of URLs (e.g./0.18/...
) whereas thedisplayValue
property holds the text that should be shown in the dropdown menu.If the output destination of the render operation contains existing, older versions in sub-folders, those will be scanned to produce additional version information in the JSON loaded by the site. This will be used for "smart linking" where the drop-down will link to the same page of a different version if it exists.
The corresponding version switcher component of the theme can be configured with
topNavigationBar.versionMenu
. That setting allows to specify the labels and optionally additional link entries for the menu. Additional version switcher components can be added using theVersionMenu
class, for example for adding the menu to the landing page where it is not included by default.- Definition Classes
- SiteOps
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
withColors(colors: ColorSet): Helium
- Attributes
- protected
- Definition Classes
- SiteOps → SingleConfigOps → ColorOps
-
def
withFontFamilies(fonts: ThemeFonts): Helium
- Attributes
- protected
- Definition Classes
- SiteOps → SingleConfigOps
-
def
withFontSizes(sizes: FontSizes): Helium
- Attributes
- protected
- Definition Classes
- SiteOps → SingleConfigOps
-
def
withMetadata(metadata: DocumentMetadata): Helium
- Attributes
- protected
- Definition Classes
- SiteOps → SingleConfigOps
Deprecated Value Members
-
def
autoLinkCSS(paths: Path*): Helium
- Definition Classes
- SiteOps
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.4) Use internalCSS
-
def
autoLinkJS(paths: Path*): Helium
- Definition Classes
- SiteOps
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.4) Use internalJS
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated
-
def
markupEditLinks(text: String, baseURL: String): Helium
- Definition Classes
- SiteOps
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.0) use the corresponding properties of the new pageNavigation method
-
def
pageNavigation(enabled: Boolean, depth: Int, sourceBaseURL: Option[String], sourceLinkText: String): Helium
- Definition Classes
- SiteOps
- Annotations
- @deprecated
- Deprecated