Specification Edition Support Tool.
ReSpec is a JS library that makes it easier to write technical specifications, or documents that tend to be technical in nature in general. It was originally designed for the purpose of writing W3C specifications, but has since grown to be able to support other outputs as well.
ReSpec is not endorsed by W3C and nobody should expect the W3C Webmaster to provide advice on problems encountered with ReSpec, or on why it may be failing to produce pubrules-compliant content.
Bibliographical references have been moved out of ReSpec. You want to use this: http://www.specref.org/
It is common for people to contribute to RS, notably to make changes to the biblio references. You certainly are welcome to submit whatever change you wish to (though if it's a complex feature please try to coordinate with others first to avoid working long on something that will then be rejected).
If you're familiar with GitHub then contributing is simple: just fork and make pull requests. Please
just be careful to note that the primary branch is
gh-pages and not
master (this ensures that
the result gets published on the Web). More importantly, please note that the development branch
develop. If you are making patches and pull requests, please base them off this branch.
If you're not familiar with GitHub, you need to follow the following steps:
There are two options to run these tests locally: in a browser or using PhantomJS.
Tests need to be served from the root of the repository to function properly. Any server will do,
but here's an example using Python's
$ cd /path/to/repo/$ python -m SimpleHTTPServerServing HTTP on 0.0.0.0 port 8000 ...
http://localhost:8000/tests/SpecRunner.html with any recent browser will launch the
PhantomJS is a headless, WebKit-based browser. It allows running the tests directly from the command line.
Once these dependencies are installed, running the test suite should be as simple as:
$ npm test
That command is an alias for
$ node ./tests/headless.js
If you want to run only a subset of the tests, you can filter which jasmine specs are loaded by specifying additional parameters to that command. For instance,
$ node ./tests/headless.js contiguous
will run only tests whose spec filenames contains "contiguous". You can make a union of these filters by adding more parameters.
Whenever you run the test suite a new build is made for you. You can run
obtain the same result.
Normally, only the maintainers make releases. But in the eventuality that they aren't available, others can follow this process:
The simplest way of doing this, is to just run
tools/release.js. This will prompt you a few times
with the above process. Note that you will need gpg and a key with which to sign the tag.
That should be all. Normally, within a few minutes the W3C server will have picked up, gzipped, and published the latest and greatest version.