OperationConfig

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

Companion:
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

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.

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.

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.

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.

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

Provides the overrides for the specified render format.

Provides the overrides for the specified render format.

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.

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.

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.

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.

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.

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.

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.

Inherited methods

def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
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.

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.

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.

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.

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.

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

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).

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.