W3C home > Mailing lists > Public > public-script-coord@w3.org > July to September 2012

SVG 2 build scripts

From: Cameron McCormack <cam@mcc.id.au>
Date: Wed, 01 Aug 2012 21:01:28 +1000
Message-ID: <50190C88.9090005@mcc.id.au>
To: "public-script-coord@w3.org" <public-script-coord@w3.org>
As it's the kind of thing I like to do, I've rewritten the SVG 2 build 
scripts in JavaScript, using node.js.  I hope this will be advantageous 
for a couple of reasons:

1. It will be easier for others to understand and modify the script than 
the current (now old) XSLT2-based script.

2. It will let us do processing that would otherwise be difficult in 
XSLT, like the stable section ID thing mentioned on the list the other day.

3. If we want to do some automatic processing of Web IDL fragments we 
can re-use exising JS Web IDL parsers like Robin's, rather than me 
having to update my old Java-based IDL parser.

The key thing is that you need to have node.js installed to build the 
script locally, now.  On Windows and Mac, you can download and run the 
installer from nodejs.org.  There should a package for your Linux 
distribution too.

Another change is that the scripts no longer use the svg.idl file, and 
in fact no special parsing/processing of IDL interfaces is done.  The 
markup is a bit messy still, but the DOM Interfaces sections in each 
chapter is just a <pre class="idl"> for the interface and the <dl>s 
below that for the description of the interface members.  IMO this 
layout within the chapter doesn't work so well so at some point we might 
want to move the IDL fragments up near the element definitions and do 
something else with the operation/attribute definitions.  But for now 
they are in their current place with the same look.

I plan, but am yet to, move the single page spec generation from XSLT to JS.

If you're interested, the JS scripts are here:


The entry point is publish.js.

Please let me know if you have trouble building with this change.


Received on Wednesday, 1 August 2012 11:02:16 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:07 UTC