Trait

laika.config

TransformConfigBuilder

Related Doc: package config

Permalink

trait TransformConfigBuilder[Writer] extends ParseConfigBuilder with RenderConfigBuilder[Writer]

API for specifying configuration options that apply to all kinds of operations that contain both, a parsing and a rendering step (only Transform API).

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TransformConfigBuilder
  2. RenderConfigBuilder
  3. ParseConfigBuilder
  4. OperationConfigBuilder
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type ThisType

    Permalink

    The type of the operation being configured by this instance

    The type of the operation being configured by this instance

    Definition Classes
    OperationConfigBuilder

Abstract Value Members

  1. abstract def config: OperationConfig

    Permalink

    The current configuration for this instance.

    The current configuration for this instance.

    Definition Classes
    OperationConfigBuilder
  2. abstract def format: RenderFormat[Writer]

    Permalink
    Attributes
    protected
    Definition Classes
    RenderConfigBuilder
  3. abstract def withConfig(newConfig: OperationConfig): ThisType

    Permalink

    Returns a new instance with the specified configuration.

    Returns a new instance with the specified configuration.

    This method discards any previously specified options. It is usually meant to be used when copying over the configuration from a fully configured object to an unconfigured one.

    Definition Classes
    OperationConfigBuilder

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def creatingRule(newRule: (DocumentCursor) ⇒ RewriteRule): ThisType

    Permalink

    Specifies a rewrite rule to be applied to the document tree model between the parse and render operations.

    Specifies a rewrite rule to be applied to the document tree model between the parse and render operations. This is identical to calling Document.rewrite directly, but if there is no need to otherwise access the document instance and just chain parse and render operations this hook is more convenient.

    The difference of this method to the usingRule method is that it expects a function that takes a Document instance and returns the rewrite rule. This way the full document can be queried before any rule is applied. This is necessary in cases where the rule (which gets applied node-by-node) depends on information from other nodes. An example from the built-in rewrite rules is the rule that resolves link references. To replace all link reference elements with actual link elements, the rewrite rule needs to know all LinkDefinitions the document tree contains.

    The rule itself is a partial function that takes an Element and returns an Option[Element].

    If the function is not defined for a specific element the old element remains in the tree unchanged. If it returns None then the node gets removed from the tree, if it returns an element it will replace the old one. Of course the function may also return the old element.

    The rewriting is performed in a way that only branches of the tree that contain new or removed elements will be replaced. It is processed bottom-up, therefore any element container passed to the rule only contains children which have already been processed.

    In case multiple rewrite rules need to be applied it may be more efficient to first combine them with orElse.

  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. def inParallel(parallelism: Int, threshold: Int): ThisType

    Permalink

    Instructs the parser and/or renderer to process all inputs and outputs in parallel, with the specified level of parallelism.

    Instructs the parser and/or renderer to process all inputs and outputs in parallel, with the specified level of parallelism.

    The recursive structure of document trees will be flattened before parsing and rendering and then get reassembled afterwards, therefore the parallel processing includes all subtrees of the document tree.

    The actual transformation is a three phase process, the first (parsing) and third (rendering) can run in parallel. The second phase in the middle cannot, as this is the document tree model rewrite step where things like cross references or table of contents get processed that need access to more than just the current document.

    parallelism

    the number of batches to be executed in parallel, 1 means sequential execution

    threshold

    the minimum number of operations required for parallel execution

    Definition Classes
    OperationConfigBuilder
  13. def inParallel: ThisType

    Permalink

    Instructs the parser and/or renderer to process all inputs and outputs in parallel, with the default level of parallelism which corresponds to the number of CPUs.

    Instructs the parser and/or renderer to process all inputs and outputs in parallel, with the default level of parallelism which corresponds to the number of CPUs.

    The recursive structure of document trees will be flattened before parsing and rendering and then get reassembled afterwards, therefore the parallel processing includes all subtrees of the document tree.

    The actual transformation is a three phase process, the first (parsing) and third (rendering) can run in parallel. The second phase in the middle cannot, as this is the document tree model rewrite step where things like cross references or table of contents get processed that need access to more than just the current document.

    Definition Classes
    OperationConfigBuilder
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. def rendering(customRenderer: (Writer) ⇒ RenderFunction): ThisType

    Permalink

    Specifies a custom render function that overrides one or more of the default renderers for the output format this instance uses.

    Specifies a custom render function that overrides one or more of the default renderers for the output format this instance uses.

    This method expects a function that returns a partial function as the result. The outer function allows to capture the writer instance to write to and will only be invoked once. The partial function will then be invoked for each element it is defined at.

    Simple example for customizing the HTML output for emphasized text, adding a specific style class:

    Transform from Markdown to HTML rendering { out =>
      { case Emphasized(content) => out << """<em class="big">""" << content << "</em>" }
    } fromFile "hello.md" toFile "hello.html"
    Definition Classes
    RenderConfigBuilder
  19. def strict: ThisType

    Permalink

    Turns strict mode on for the target parser, switching off any features not part of the original markup syntax.

    Turns strict mode on for the target parser, switching off any features not part of the original markup syntax. This includes the registration of directives (custom tags), custom templates with directives, as well as configuration sections at the start of the document.

    Technically it removes all ExtensionBundle instances which do not have the useInStrictMode flag set to true.

    Definition Classes
    ParseConfigBuilder
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. def unformatted: ThisType

    Permalink

    Renders without any formatting (line breaks or indentation).

    Renders without any formatting (line breaks or indentation). Useful when storing the output in a database for example.

    Definition Classes
    RenderConfigBuilder
  23. def using(bundles: ExtensionBundle*): ThisType

    Permalink

    Returns a new instance with the specified extension bundles installed.

    Returns a new instance with the specified extension bundles installed. Features in the new bundles may override features in already installed bundles.

    Bundles are usually provided by libraries (by Laika itself or a 3rd-party extension library) or as re-usable building blocks by application code.

    Definition Classes
    OperationConfigBuilder
  24. def usingRule(newRule: RewriteRule): ThisType

    Permalink

    Specifies a rewrite rule to be applied to the document tree model between the parse and render operations.

    Specifies a rewrite rule to be applied to the document tree model between the parse and render operations. This is identical to calling Document.rewrite directly, but if there is no need to otherwise access the document instance and just chain parse and render operations this hook is more convenient.

    The rule is a partial function that takes an Element and returns an Option[Element].

    If the function is not defined for a specific element the old element remains in the tree unchanged. If it returns None then the node gets removed from the tree, if it returns an element it will replace the old one. Of course the function may also return the old element.

    The rewriting is performed in a way that only branches of the tree that contain new or removed elements will be replaced. It is processed bottom-up, therefore any element container passed to the rule only contains children which have already been processed.

    In case multiple rewrite rules need to be applied it may be more efficient to first combine them with orElse.

  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def withMessageLevel(level: MessageLevel): ThisType

    Permalink

    Specifies the minimum required level for a system message to get included into the output by this renderer.

    Specifies the minimum required level for a system message to get included into the output by this renderer.

    Definition Classes
    RenderConfigBuilder
  29. def withRawContent: ThisType

    Permalink

    Enables all extensions that process raw content embedded into the host markup language.

    Enables all extensions that process raw content embedded into 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.

    Technically it activates all ExtensionBundle instances which have the acceptRawContent flag set to true.

    Definition Classes
    ParseConfigBuilder

Inherited from RenderConfigBuilder[Writer]

Inherited from ParseConfigBuilder

Inherited from OperationConfigBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped