Packages

o

laika.io

implicits

object implicits

Implicits that add sequential[F[_]] and parallel[F[_]] methods to all builder instances for parsers, renderers and transformers from the laika-core module, adding support for file/stream IO, suspended in the effect of your choice.

The requirements for the effect are Sync for sequential execution and Async for parallel execution.

Example for transforming an entire directory from Markdown to HTML using the parallel builder:

val transformer = Transformer
  .from(Markdown)
  .to(HTML)
  .using(GitHubFlavor)
  .parallel[IO](4)
  .build

val res: IO[Unit] = transformer.use {
  _.fromDirectory("src")
   .toDirectory("target")
   .transform
}

These variants of parser, renderer and transformer are the most powerful of the library, and the only options that support templating, style sheets and the copying of static files from input to output directory.

This API can be used to produce an entire HTML site or e-books in the EPUB or PDF format. It is also the basis of all tasks in the sbt plugin, that only adds a thin layer of sbt tasks and settings on top of the library API.

The tree for all internal processing steps is based on a virtual path, where in case of directory input and output the root of the virtual tree is mapped to the directory. This abstraction allows the merging of multiple input directories or the addition of inputs constructed in memory to those obtained from the file system.

In the case of binary output like EPUB or PDF, the document tree will be rendered to a single, merged output. In case of HTML the output is a tree of separate HTML documents. The API adjusts to the format in use, e.g. EPUB and PDF transformers will offer a fromDirectory ... toFile flow whereas HTML will offer fromDirectory ... toDirectory.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. implicits
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped