[ReSpec]: new features in ReSpec 8.5

Hi ReSpec users,

🎄tl;dr, new features and bug fixes for you:

 🎁 Can now cite inline with data-cite=spec#frag.
 🎁 Adding a section element with id='idl-index' will give you a
summary of WebIDL in your document
 🎁 Improved linking of method() names.
 🎁 Improved JSON syntax highlighting.
 🎁 Performance improvements.
 🎁 preProcess, postProcess, afterEnd, support promises
 🎁 Now using Babel (with async/await)
 🎁 Fixed linking to empty string in enums
 🎁 Better use of browser's developer console.

Complete change log:
https://github.com/w3c/respec/blob/develop/CHANGELOG.md

## `data-cite` support ⭐️

Small, but important! You can now do:

```HTML
<a data-cite="!spec#frag">some concept</a>.
```

And that automatically adds the "spec" to the Normative References
section and links to the cited spec.

More info, examples:
https://github.com/w3c/respec/wiki/data--cite

I plan on adding support for different citation "types" too - so you
can more easily cite IDL from other specs.

## WebIDL index
If you have a section with the "idl-index", ReSpec will gather all the
WebIDL in your document into a nice summary. It will keep all the
links to the correct sections.

See example:
https://github.com/w3c/respec/wiki/idl-index

## Improved linking of method() names.
You can now link to IDL method() names directly, so these work now:

```HTML
 <dfn>Interface.method()</a>
 <a>Interface.method()</a>
 <p data-link-for="Interface"><a>method()</a></p>
```

## preProcess, postProcess, afterEnd, now support promises
If you return a promise from any of the above, ReSpec will now wait
for them to settle before it continues.

We still don't encourage the use of those three properties. But just in case...

## Performance improvements 🔥🔥🔥
ReSpec now caches references in IndexedDB. This leads to significant
performance improvements if you work off a local server (or even if
you view specs on Github). The references are updated every 24 hours
(or when spec refs sends a 200 OK - if you force reload).

## Misc/Developers
Better JSON syntax highlighting is now included.
Now using Babel (with async/await) - ES6+ sources are in the "src/"
directory and are transpired to "js/"
ReSpec now links to empty string in enums

Any problems, please let us know:
https://github.com/w3c/respec/issues

## Better use of developer console
Browsers provide powerful developer tools... we should leverage those more.

We are starting to output erroneous elements to the error console,
making it easier to track down issues in your spec. I hope to improve
on that in the future, by providing better error reporting and
clickable errors/error highlighting in the spec itself in the future.
At least, this helps a bit more track down bad tags that are causing
issues.

## What's next 🔜
Cross references: hoping to leverage data-cite + the IDB
infrastructure to do powerful xrefs in the browser. However, it will
require getting SpecRef to talk to Shepherd.

Improve WebIDL support and linking (e.g., constructors).

Continue to "unjQuery" ReSpec. I'm hopeful we can be jQuery free by
end of 2017. Will initially move to jQuery slim.

Continue to migrate to ES6 modules and other ES6 features (and allow
Babel to transpile). Makes code much more maintainable.

Kind regards,
Marcos

Received on Monday, 16 January 2017 08:49:09 UTC