Skip to content

Releases: tc39/ecmarkup

Version 2.7.0

15 Oct 17:58
Compare
Choose a tag to compare

This version introduces find local references. Clicking on a var will highlight all occurrences of that var within its containing clause.

Version 2.6

12 Oct 23:15
Compare
Choose a tag to compare

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

28 Sep 21:43
Compare
Choose a tag to compare

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

26 Sep 23:43
Compare
Choose a tag to compare

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

27 Aug 22:39
Compare
Choose a tag to compare

Added a --watch option to watch your spec files and rebuild them when any of them change.

Version 2.0

21 Aug 20:29
Compare
Choose a tag to compare

The 2.0 release brings a number of enhancements and breaking changes.

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

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

21 Aug 01:20
Compare
Choose a tag to compare
Version 2.0.0-beta5 Pre-release
Pre-release

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

21 Aug 00:01
Compare
Choose a tag to compare
Version 2.0.0-beta4 Pre-release
Pre-release

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

19 Aug 23:38
Compare
Choose a tag to compare
Version 2.0.0-beta3 Pre-release
Pre-release

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

19 Aug 00:18
Compare
Choose a tag to compare
Version 2.0.0-beta2 Pre-release
Pre-release

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