OperationConfig

laika.api.builder.OperationConfig
See theOperationConfig companion object
case class OperationConfig(bundles: Seq[ExtensionBundle], bundleFilter: BundleFilter, configBuilder: ConfigBuilder, failOnMessages: MessageFilter, renderMessages: MessageFilter, renderFormatted: Boolean) extends RenderConfig

Represents the configuration for an operation based on extension bundles and several flags.

Provides convenient access to the result of merging the defined bundles and adding fallback options wherever necessary.

Value parameters

bundleFilter

a filter that might deactivate some of the bundles based on user configuration

bundles

all extension bundles defined by this operation

configBuilder

a builder for assembling values for the base configuration as

failOnMessages

the filter to apply to runtime messages that should cause the transformation to fail

renderFormatted

indicates whether rendering should include any formatting (line breaks or indentation)

renderMessages

the filter to apply to runtime messages that should be rendered in the output

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait RenderConfig
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

Creates a new instance that is configured to allow raw content embedded in the host markup language.

Creates a new instance that is configured to allow raw content embedded in the host markup language.

These are disabled by default as Laika is designed to render to multiple output formats from a single input document. With raw content embedded the markup document is tied to a specific output format.

Attributes

Creates a new instance that is configured to interpret text markup as defined by its specification, without any extensions.

Creates a new instance that is configured to interpret text markup as defined by its specification, without any extensions.

Attributes

Merges the extension bundles and setting of this configuration with the specified other configuration. Alternative settings defined in this instance will have precedence.

Merges the extension bundles and setting of this configuration with the specified other configuration. Alternative settings defined in this instance will have precedence.

Attributes

The path translator for translating all virtual paths before rendering, obtained by combining the path translators defined in all bundles (if present) with the internal base translator.

The path translator for translating all virtual paths before rendering, obtained by combining the path translators defined in all bundles (if present) with the internal base translator.

The internal path translator deals with aspects like applying the suffix for the output format or modifying the path for versioned documents and more.

Theme or user extensions may wrap additional functionality around that internal translator, or in rare cases even replace it with an entirely custom implementation.

A new instance of PathTranslator will be created for each render operation. The output format is described in the outputContext parameter.

Attributes

def renderOverridesFor[FMT](format: RenderFormat[FMT]): Overrides

Provides the overrides for the specified render format.

Provides the overrides for the specified render format.

Attributes

The combined rewrite rule, obtained by merging the rewrite rules defined in all bundles. This combined rule gets applied to the document between parse and render operations.

The combined rewrite rule, obtained by merging the rewrite rules defined in all bundles. This combined rule gets applied to the document between parse and render operations.

Attributes

The combined rewrite rule for the specified document, obtained by merging the rewrite rules defined in all bundles. This combined rule gets applied to the document between parse and render operations.

The combined rewrite rule for the specified document, obtained by merging the rewrite rules defined in all bundles. This combined rule gets applied to the document between parse and render operations.

Attributes

Returns a new instance with the specified extension bundles added to the bundles defined in this instance. The new bundles are treated with higher precedence that the already defined bundles and may thus overwrite features.

Returns a new instance with the specified extension bundles added to the bundles defined in this instance. The new bundles are treated with higher precedence that the already defined bundles and may thus overwrite features.

Attributes

Returns a new instance with the extension bundles provided by the specified markup parser added to the bundles defined in this instance.

Returns a new instance with the extension bundles provided by the specified markup parser added to the bundles defined in this instance.

Attributes

Returns a new instance with the specified configuration value added.

Returns a new instance with the specified configuration value added.

The specified value with have higher precedence than any value with the same key registered by extension bundles, but lower precedence than any value with the same key specified in a configuration file for a directory or a configuration header in a markup document.

Attributes

def withConfigValue[T](key: String, value: T)(implicit encoder: ConfigEncoder[T]): OperationConfig

Returns a new instance with the specified configuration value added.

Returns a new instance with the specified configuration value added.

The specified value with have higher precedence than any value with the same key registered by extension bundles, but lower precedence than any value with the same key specified in a configuration file for a directory or a configuration header in a markup document.

Attributes

def withConfigValue[T](key: Key, value: T)(implicit encoder: ConfigEncoder[T]): OperationConfig

Returns a new instance with the specified configuration value added.

Returns a new instance with the specified configuration value added.

The specified value with have higher precedence than any value with the same key registered by extension bundles, but lower precedence than any value with the same key specified in a configuration file for a directory or a configuration header in a markup document.

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product

Concrete fields

lazy val baseConfig: Config

Base configuration merged from all defined extension bundles that serves as a fallback for configuration files in the source directories and/or config headers in markup and template documents.

Base configuration merged from all defined extension bundles that serves as a fallback for configuration files in the source directories and/or config headers in markup and template documents.

Attributes

Provides the parser for configuration documents and configuration headers in text markup and template documents. Always produces an empty configuration if no provider was installed.

Provides the parser for configuration documents and configuration headers in text markup and template documents. Always produces an empty configuration if no provider was installed.

Attributes

Specifies the function to use for determining the document type of the input based on its path. The function represents the result of merging the partial functions from all defined bundles and adding a fallback (the Ignored document type) for all unhandled Path instances.

Specifies the function to use for determining the document type of the input based on its path. The function represents the result of merging the partial functions from all defined bundles and adding a fallback (the Ignored document type) for all unhandled Path instances.

Attributes

Applies the filter based on the strict and withRawContent flags set by the user to the bundles configured for this instance.

Applies the filter based on the strict and withRawContent flags set by the user to the bundles configured for this instance.

Attributes

Provides all extensions for the text markup parser extracted from all defined bundles.

Provides all extensions for the text markup parser extracted from all defined bundles.

Attributes

lazy val slugBuilder: String => String

Function that receives the text of a headline, the name of a document or directory or a manually assigned identifier, and builds a slug from it that becomes part of the final URL or identifier (depending on output format).

Function that receives the text of a headline, the name of a document or directory or a manually assigned identifier, and builds a slug from it that becomes part of the final URL or identifier (depending on output format).

The result of the function must be:

  • a valid identifier in HTML and XML
  • a valid path segment in a URL
  • a valid file name

Attributes

Provides the parser for CSS documents, obtained by merging the parsers defined in all extension bundles and adding a fallback that produces an empty style declaration set if all other parsers fail (or none are defined).

Provides the parser for CSS documents, obtained by merging the parsers defined in all extension bundles and adding a fallback that produces an empty style declaration set if all other parsers fail (or none are defined).

Attributes

lazy val templateParser: Option[Parser[TemplateRoot]]

Provides the parser for template documents, obtained by merging the parsers defined in all extension bundles (or none if no bundle defines a parser). This method does not provide a fallback parser as the lack of any defined parser indicates that templates are not supported for this operation. The parse operation should therefore ignore all template documents in the input tree and use a fallback template.

Provides the parser for template documents, obtained by merging the parsers defined in all extension bundles (or none if no bundle defines a parser). This method does not provide a fallback parser as the lack of any defined parser indicates that templates are not supported for this operation. The parse operation should therefore ignore all template documents in the input tree and use a fallback template.

Attributes