Skip to content

Releases: typelevel/Laika

0.9.0

15 Sep 21:19
Compare
Choose a tag to compare

Introduction of the ExtensionBundle API

  • New ExtensionBundle APIs allow to bundle extensions into a single object for easier reuse. Supported extension hooks include directives, markup parser extensions, rewrite rules, custom renderers, document type matchers, alternative parsers for stylesheets, templates or configuration headers and default templates per output format. For migrating from 0.8 extension hooks, see #56.
  • Reduced number of settings and tasks in the sbt plugin, by using the new ExtensionBundle API for sbt settings. The most common tasks and setting remain unchanged, for users of the lower level extension settings of the plugin see #65 for migration instructions.
  • Improved package structure to reduce number of required imports. For simpler use cases a global "organize imports" should suffice for migration, for all other cases see #66.
  • The changes listed above fix some of the design issues of the very early releases from 2013/14.

0.8.0

04 Jun 13:29
Compare
Choose a tag to compare

The Speed Release

  • Doubles parsing speed for both Markdown and reStructuredText
  • Much lower number of parser instance creations on repeated runs
  • Performance goals had been achieved through replacing the former
    Scala SDK parser combinators with a custom, optimized combinator design:
    • Fewer dependent types and base parsers in objects instead of traits, making it easier to freely compose parsers
    • Create parser error messages lazily, as most of them will never be accessed
    • Avoid cost of by-name args in all cases except | combinator
  • Other changes in this release:
    • Add support for size and align options for the image directive in reStructuredText
    • Fixes for all bugs known and reported to this point
    • Remove all deprecation warnings for Scala 2.12

0.7.5

30 Dec 14:17
Compare
Choose a tag to compare

Support for sbt 1.0

  • Laika's sbt plugin is now an AutoPlugin
  • Prefixed all task and setting keys to adhere to recommended naming pattern
    (e.g. laikaGenerate)
  • Adjustments for API changes in sbt 1.0
  • Bug fixes in the library
  • Drop support for sbt 0.13 and Scala 2.10

The unusual version number reflects the fact that users of the sbt plugin need
to update their build for the changes in the key names, while for users of
the library this release is a drop-in replacement containing only bug fixes.

0.7.0

17 Apr 14:37
Compare
Choose a tag to compare

Redesign of the Document API

  • Support for Scala 2.12 (with continued support for 2.11 and 2.10)
  • New Document API: use case classes wherever possible,
    extract features into pluggable traits and introduce a new Cursor type for tree rewriting
  • Allow to customize the FopFactory for the PDF renderer (in API and sbt plugin)
  • Fix an issue in the laika:site task in the sbt plugin that executed several sub-tasks
    twice which could lead to IllegalStateExceptions caused by the resulting race condition
  • Fixes for the reStructuredText parser (for option lists and IP addresses)

0.6.0

23 May 00:48
Compare
Choose a tag to compare

New renderer for PDF output

  • Support for rendering PDF documents
  • Support for rendering XSL-FO output
  • New CSS parser supporting a large subset of standard CSS
  • Support styling of PDF documents with CSS
  • Support for different templates per output format
  • New sbt tasks: html, pdf, xslfo, prettyPrint for rendering
    a single output format
  • New sbt task generate for rendering multiple formats
    (e.g. laika:generate html pdf)
  • Integrate PDF output into existing sbt task laika:site via
    new setting includePDF
  • New directives pageBreak, style and format
  • Changes to the Render and Transform API to allow for the
    merging of an entire directory of input files into a single output
    file (as required by PDF rendering)

0.5.1

23 May 00:36
Compare
Choose a tag to compare
  • Cross-compile for Scala 2.11 and 2.10
  • Publish the sbt plugin to the new plugin repository on Bintray
  • Upgrade to ScalaTest 2.2.4

0.5.0

23 May 00:35
Compare
Choose a tag to compare

Introducing sbt Plugin

  • New sbt plugin, exposing all Laika
    features and customization hooks as sbt tasks and settings
  • New option to merge multiple input directories into a tree structure with a single root,
    allowing to keep reusable styles or templates ("themes") separately
  • New option to use Markdown and reStructuredText markup in the same input tree, including
    cross-linking between the two formats
  • Move to a multi-project build and rename the main artifact from laika to laika-core
  • Upgrade to ScalaTest 2.0 and sbt 0.13
  • Drop support for Scala 2.9.x

0.4.0

23 May 00:33
Compare
Choose a tag to compare

Adding template based site generation and batch processing

  • Template-based site generation for HTML output
  • Support for tables of contents, autonumbering of documents and sections
    and convenient cross-linking between documents for all supported markup
    formats
  • Custom Directives (tags) for templates and text markup
  • Document Fragments that can be rendered separately from the main document content
  • New API for batch processing for parse, render and full transform operations
  • Parallel processing of parsers and renderers
  • Completely restructured manual

0.3.0

23 May 00:32
Compare
Choose a tag to compare

Improving Markdown and reStructuredText parsers

  • Support for most of the standard directives and text roles of the reStructuredText reference
    parser (admonitions, figure, image, code, raw and many more)
  • Now integrates the official Markdown test suite (any many fixes to make it pass)
  • Now integrates a test for transforming the full reStructuredText specification (which
    is written in reStructuredText) and many fixes to make it pass
  • Adds the renderer option HTML.unformatted for terse output without indentation or whitespace
    (often desirable when writing the rendered document to a database for example)
  • Adds a new Web Tool to try out Laika online
  • General cleanup of parser implementations and alignments between Markdown and reStructuredText
    parsers, making both of them much more robust

0.2.0

23 May 00:30
Compare
Choose a tag to compare

Introducing reStructuredText

  • Support for reStructuredText (full specification)
  • Concise and type-safe API for all reStructuredText extensibility options (directives, text roles)
  • New document tree nodes for tables, footnotes, citations, definition lists, internal links,
    comments, system messages, invalid elements
  • Render hints for document tree nodes in the form of the new Customizable trait