Skip to content

mdoc v2.0.0

Compare
Choose a tag to compare
@olafurpg olafurpg released this 02 Nov 12:47
57a2770

Reveal.js support in HTML files

It's now possible to run mdoc on both *.md and *.html files. This makes it possible to use mdoc when writing slides with Reveal.js in HTML files, a common use-case that was supported by tut but not in mdoc until now.

Support for any markdown flavor

Mdoc should now work with any flavor of markdown. Previously, mdoc only supported Commonmark and custom syntax like Jekyll {toc}, sbt-paradox, footnotes, and other markdown dialects would not be preserved. Now, mdoc only processes code fences and leaves the rest of the document unchanged.

The only syntax that is processed by mdoc is code fences using this syntax

```scala mdoc
```

and site variables using this syntax @VERSION@.

Breaking changes

  • Code fences are now by default wrapped in classes instead of objects, see #190. This means that code examples using extends AnyVal will result in a compiler warning. If you get the following errors when upgrading, add the mdoc:reset-object modifier to the enclosing code fence
Value class may not be a member of another class
The outer reference in this type test cannot be checked at run time.
  • It's no longer possible to reference site variables using the syntax ![VERSION]. Use @VERSION@ instead. This syntax was never documented on the website and it's no longer possible to support it with the new custom parser for Markdown code fences. The @VERSION@ syntax is more flexible since it works anywhere, including code fences, while the ![VERSION] syntax only worked in places where it was possible to write markdown links.