Echidna is the central piece of software taking care of the new publication workflow at W3C. The plan is for Echidna and related sub-projects (see below) to automatise the publication of new specs under http://www.w3.org/TR/
.
These will be resolved automatically by simply running npm install
on the directory of the project.
$ git clone [email protected]:w3c/echidna.git
$ cd echidna
$ cp config.js.example config.js
$ npm install
$ npm start
Then simply open http://localhost:3000
on your web browser and start throwing publication requests at it.
(with npm >= 2)
$ npm start [-- STAGING_PATH [HTTP_BASE_URI [PORT [RESULT_PATH]]]]
Meaning of positional parameters:
STAGING_PATH
: path in the local filesystem where documents will be downloaded; staged. (Default/var/www/html/trstaging/
.)HTTP_LOCATION
: HTTP endpoint for Specberus and the Third-party checker. (Defaulthttp://localhost/trstaging/
.)PORT
: where Echidna will be listening for publication requests. (Default3000
.)RESULT_PATH
: local path where Echidna will dump the results of publication requests in JSON format.
Examples:
$ npm start -- /home/nick/public_html/staging/ http://localhost/~nick/staging/ 80
$ npm start -- ../tmp/echidna-files/
Type this to launch mocha
and its associated tests:
$ npm test
For testing purposes, we are using an internal web server by default at http://localhost:3001
.
The test server simulates some of the W3C services, such as the CSS and HTML validators, or the token authorization checker.
It also serves a set of sample drafts.
It will get started and stopped automatically when launching mocha
.
One may launch this test server separately by using:
$ npm run testserver
When the test server is running, the testbed with all drafts will be available in http://localhost:3001/
.
- Specberus
- LinkChecker
third-party-resources-checker
w3c-validate
w3cjs
- Tenon
- Generators (see
spec-generator
): - Respec
- CSS Spec Preprocessor for Bikeshed
Please refer to our contribution reference to learn how to contact us, give feedback, or actively contribute to this project.