Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Tools used to publish the HTML specifications
Python JavaScript Emacs Lisp
branch: master
Failed to load latest commit information.
boilerplate stop linking to -comments
.gitignore support defining variables in the tools
Makefile Update makefile with path. config resolves information for you; publish callable as a library Add new substitution for <!--NON-NORMATIVE SECTION--> [ISSUE-150][Bug 20881] Fix handling of &lt; characters in
check-split-markers.js initial import (does NOT work) misc fixes; add the RICG editors
css-validate.js try to pass pubrules with the CR; improve css validator a bit
default-config.json remove old canvas branch initial import (does NOT work)
fix-reference.js initial import (does NOT work)
html-validate.js fix validator; update template for new editors list and bug assist initial import (does NOT work)
jquery.min.js initial import (does NOT work)
link-checker.js missing end tag broke splitter
minimal-pubrules.js move boilerplate to tools
package.json initial import (does NOT work) Processor for the new state machine microsyntax. processing references to surface URLs fix splitting and tweak headers
specedit.el The bits I use to build the spec.

Tools used to publish the HTML WG drafts

This repository contains all the tools that are being used to publish the following specifications of the HTML WG:

  • HTML
  • Canvas
  • Microdata

Support for further specifications may be added as things progress.


Just check it out wherever seems convenient to you, and it should work. Its one dependency is a recent version of Anolis.


There is a default-config.json file included here. Do NOT edit it, it is just the default. If you need to override its values, create a local-config.json file and use it to override just the values you need. For instance, if you need your HTML draft to be in /some/other/path (the default assumes ../html), just create this local-config.json:

    "html": { "path": "/some/other/path" }


You can run this either as:

python [html|2dcontext|microdata]

or as:

make [html|2dcontext|microdata]

The make variant runs exactly the same thing, but checks to see if the source has changed since the last generation. This can be faster if you're working on the spec, but be warned that it does not check if other dependencies may have changed too (e.g. the boilerplate) and so can trip you.


  • make output directory configurable
  • add support for generating against a specific branch, or multiple branches
  • add a linter
Something went wrong with that request. Please try again.