Text Markup Transformer for sbt and Scala applications, transforming Markdown and reStructuredText to HTML, EPUB and PDF

Laika

Toolkit for transforming lightweight text markup and template based site and e-book generation.

Build Status Maven Central Release

Latest Release

The latest stable release is version 0.18.2.
The latest pre-release is version 0.19.0-RC1.

The library is published to Maven Central for Scala 3, 2.13, 2.12 and supports cats-effect 3.x and Scala.js 1.x. The sbt plugin is published for sbt 1.x.

In case you still need support for older versions of Scala, sbt or cats-effect, please use:

  • 0.17.1 for cats-effect 2.x
  • 0.10.0 for Scala 2.11
  • 0.7.0 for Scala 2.10 and sbt 0.13.x

Open Source under the Apache 2.0 License.

Features

  • No External Tools

    Easy setup without any external tools or languages and only minimal library dependencies.

  • Flexible Runtime

    Laika can be used as an sbt plugin, as a Scala library for the JVM or in the browser via Scala.js.

  • Purely Functional

    Fully referentially transparent, no exceptions or runtime reflection and integration with cats-effect for polymorphic effect handling.

  • Rich Feature Set

    Markdown and reStructuredText as input, HTML, EPUB and PDF as output, integrated preview server and syntax highlighting, link validation, auto-generated navigation, versioned documentation, and much more.

  • Lightweight Theme

    The default Helium theme includes only a minimal amount of handcrafted CSS and JS, no Bootstrap, no frameworks.

  • Highly Extensible

    Process the document AST, adjust rendering for individual AST nodes or extend text markup languages with custom directives.

Further Information

  • Read the Manual.

  • Try out Laika with the Demo App.

  • Browse the API.

  • Follow on Twitter for release announcements.

  • Create Issues for bug reports or enhancement requests.

  • Ask questions or share ideas in Discussions.