Skip to content

Releases: tc39/ecmarkup

Version 2.0.0-beta1

13 Aug 23:56
Compare
Choose a tag to compare
Version 2.0.0-beta1 Pre-release
Pre-release

This is a beta release containing many of the changes planned for Emu 2! There are a few breaking changes in this release so make sure to read this in detail. In addition to the below changes there have been a number of minor style tweaks and additions so make sure to grab the latest elements.css.

Installing the Beta

npm install -g ecmarkup@beta

Summary of Breaking Changes

  • Imports now use emu-import elements instead of link rel="import".
  • emu-alg no longer supports an aoid attribute. Aoid may only be placed on clauses. Adjust your editorial conventions appropriately.
  • The biblio file format has changed significantly. If you are using an external biblio file, it must be recreated. Note that emu's own biblio for es6 has been updated for you.

New Features

Metadata block

Specs may contain a metadata block inside a pre class=metadata element. The metadata block is parsed as YAML. Right now there are only a few options supported:

  • toc: Whether to include a toc. Default true.
  • location: The location of the document. Used for biblio files so dependent specs know where to link to.

Example

<pre class=metadata>
toc: false
location: https://tc39.github.io/ecmascript-asyncawait
</pre>

Future releases will add additional boilerplate generation based on new keys such as title, stage, etc.

Non-terminal Linking

All non-terminals are now linked to their definitions (whether in the local spec or in a dependent spec).

Auto-linking of Terms

Terms are now auto-linked whenever they are referenced. Links to abstract operations are also auto-linked (although this may be removed before 2.0 stable).

More xref power

You can now cross-reference productions and clauses by their ID. You can also cross-reference an abstract operation using the form <emu-xref aoid=Call></emu-xref>.

More command line options

Added -b/--biblio to generate a biblio file and --verbose so you can watch the build progress on large documents. Additionally, all options can be set in the metadata block. Also all the above metadata keys can be passed on the command line. Example: ecmarkup --location https://... --verbose spec.emu out.html.

Version 1.7

01 Aug 19:50
Compare
Choose a tag to compare

Added an anchor link to each header so you can quickly get a link to share to a specific section.