[Gd-hackers] GD library documentation
Dustin Voss
d-j-v at earthlink.net
Mon Feb 12 07:07:25 CET 2007
Okay, so I am creating updated web-pages for Gwydion Dylan libraries
(excluding the the matrix, testworks, and internal libraries like
compiler-base).
My motivation is
a) the existing docs at http://wwwopendylan.org/gdref/gdlibs.html
are out-of-date in various ways;
b) they are also very incomplete; and
c) it's hard to find things in the existing docs.
I am currently transcribing the current gdlibs.html docs, updating as
I go. Next, I intend to look through the Open Dylan docs and document
the bindings that were transferred over as part of the Common Dylan
effort. Finally, I will look for any other undocumented bindings, and
document them using what I can gather from the source code.
The final documentation is a series of static HTML pages with various
indices and cross references. For example, each class is cross-
referenced with the functions on or returning an instance of that class.
I have put the pages I've done to date in a ZIP file, at http://
idisk.mac.com/d_j_v-Public/cpage/html.zip.
These HTML pages are generated from the following process:
1) I ran the .lib.du files through the refman tool I wrote.
2) This generated an XML file in the style of Open Dylan's XML
export facility, containing all the bindings and information that
could be extracted from the .lib.du files.
3) I ran the XML file through an XSL transform I wrote that created
a series of cross-referenced text files, one for each binding,
library, or module.
4) I hand-edit the text files to fix places where the information
extracted from the .lib.du file is inadequate.
5) The text files are ran through a version of NaturalDocs that I
customized slightly.
6) That generates the HTML pages.
Since text files are rather more versatile than the refman XML
format, I am treating the text files as the documentation's source
material. My plan is to add them to SVN trunk/documentation/gwydion/
gdcore, along with a README. The refman tool is already part of the
GD source tree. The XSLT and NaturalDocs tools are available from my
iDisk, so I don't currently intend to add them to SVN -- though I
certainly could, if that is preferred.
hannes suggested that the HTML files be generated automatically by
the web-server when the source material changes, like how the gdlibs
pages are generated now. That sounds fine to me. (An alternative is
to add the HTML files to SVN directly, but that is about 1100 small
files.)
Once the web-server thing is set up, and the HTML is ready, I intend
to add a link from http://opendylan.org/gdref.phtml to the new docs.
Maybe gdlibs.html could then be moved to the "Older Manuals" section.
As for ongoing maintenance, I was thinking I'd first re-create the
skeletal text files from step 3 and check those in. Then, I would
replace them with the hand-edited files. As the libraries change in
the future, we could do ancestor merges between the currently-checked
in files, and new skeletal files that include the library changes,
using the original skeletal files as an ancestor. I am not sure if
that would work well, though.
SO, that's the plan so far. I didn't want this to be a surprise to
anyone, hence this e-mail. Comments/concerns/suggestions?
More information about the hackers
mailing list