emu-algify

Use Ecmarkup's <emu-alg> elements in your HTML


Keywords
ecmarkup, emu-alg, specs, ecmascript, html, markup, markdown
License
WTFPL
Install
npm install emu-algify@2.2.0

Documentation

Use Ecmarkup's <emu-alg> elements in your HTML

Ecmarkup and Ecmarkdown are great spec-writing tools, but sometimes you want to just mix in a little bit of Ecmarkup—the <emu-alg> element—without committing wholesale to Ecmarkup's spec-writing framework. <emu-alg> then gives you Ecmarkdown-interpreted algorithms, as well as autolinking against ECMAScript abstract operations and those in your own spec.

This tool lets you do that.

Usage

Emu-algify is primarily used as a command line program:

$ emu-algify --help
Use Ecmarkup's <emu-alg> elements in your HTML

emu-algify [--throwing-indicators] < input.html > output.html

Options:
  -t, --throwing-indicators  Add throws/nothrow indicators to headings [boolean]
  --help                     Show help                                 [boolean]
  --version                  Show version number                       [boolean]

Throwing indicators

The bit about "throwing indicators" is mainly for Bikeshed users. If you enable it, and you write your algorithm's relevant heading like so:

<h5 aoid="DoSomethingFun" nothrow> <!-- alternately, throws -->

then emu-algify will insert something like

<span class="annotation" title="never returns an abrupt completion">nothrow</span>

right before any .self-link elements in your heading. A fairly specialized feature, but I already wrote the code, and it's serving us well over on whatwg/streams, so there you go.

Programmatic usage

You can also use this module directly:

"use strict";
const emuAlgify = require("emu-algify");

emuAlgify(inputString, { throwingIndicators: true })
  .then(outputString => { ... })
  .catch(e => console.error(e.stack));