Releases: tc39/ecmarkup
Version 2.7.0
This version introduces find local references. Clicking on a var will highlight all occurrences of that var within its containing clause.
Version 2.6
This release fixes a few bugs and introduces a major change to the notion of "inline" productions. Previously, adding class=inline
to emu-production
or emu-grammar
would both make its display: inline and render the production in collapsed form with its LHS and RHS on the same line. Now, class=inline
will make the production inline only in the HTML sense, and an attribute of collapsed
is required when you want the LHS and sole RHS to render on the same line. emu-prodref
follows the same convention.
Version 2.5
This release adds boilerplate generation of copyright text and software license for standards, drafts, and proposals. Two new document metadata options have been added - copyright
and contributors
. Set copyright
to false to disable copyright boilerplate generation. Set contributors
to the copyright owners of this specification. Be sure to include "Ecma International" in this list if your proposal includes text from an Ecma Specification.
Version 2.3
This version adds a bunch of new document options that trigger boilerplate generation. See Document Options for more details.
Additionally, the caption attribute is deprecated in favor of a child emu-caption element.
Minor changes (including those in 2.2) include:
- Grammar line breaking behavior improvements (Toru Nagashima)
- TOC toggle style improvements (Michael Ficarra)
- Always set output charset to utf-8
- Minor bug fixes
Version 2.1
Added a --watch
option to watch your spec files and rebuild them when any of them change.
Version 2.0
The 2.0 release brings a number of enhancements and breaking changes.
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
Floating Table of Contents
The new table of contents floats and is responsive to different screen sizes. Example can be seen on the Async Functions Specification.
New Elements
emu-example
: an informative example.emu-figure
: a figure (default normative, but can be informative with the informative attribute).emu-table
: a table (default normative, but can be informative with the informative attribute).emu-eqn
: an equation (used heavily in the Date sections of the ES6 spec).
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.
- biblio: where to save the biblio file
- js: where to save the javascript file (not necessary if using the old toc).
- css: where to save the css file
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.
More xref power
You can now cross-reference clauses, productions, tables, figures, notes, and examples by their ID. You can also cross-reference an abstract operation using the form <emu-xref aoid=Call></emu-xref>
.
More options
All the metadata keys can be passed on the command line. Example: ecmarkup --location https://... --verbose --css ecmarkup.css --js ecmarkup.js spec.emu out.html
.
Version 2.0.0-beta5
This version adds the new floating toc style. You can preview this style here. You can disable this new toc and go back to the old toc by using the --old-toc option.
This is, I hope, the final beta before releasing 2.0.0. Please try it out and let me know any issues you come across!
Version 2.0.0-beta4
This release adds support for emu-figure and emu-table. Additionally notes can be xrefed by ID in a similar manner to examples.
Installing the Beta
npm install -g ecmarkup@beta
Version 2.0.0-beta3
Another set of bug fixes and new features. Summary:
- Added emu-example element for marking up informative examples.
- Added --css and --js options for emitting the required css and js files (js is empty as of now but will be required soon).
- The CLI will now emit the compiled document on stdout if no outfile is present.
- Fixed various bugs
Installing the Beta
npm install -g ecmarkup@beta
Version 2.0.0-beta2
This release includes a major refactoring, taking a dependency on a few ES6 features similar to ecmarkdown. In other words, io.js is required still.
Feature wise, this release updates the biblio to the latest and includes the new emu-eqn
element for specifying equations similar to those in ES6 20.3.1.3.
Installing the Beta
npm install -g ecmarkup@beta