Releases: tc39/ecmarkup
Version 2.0.0-beta1
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 oflink 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
Added an anchor link to each header so you can quickly get a link to share to a specific section.