1Guile-Cairo Documentation README
2================================
3
4
5What's going on here?
6---------------------
7
8What's going on is that Guile-Cairo has a system that automatically
9extracts documentation from the upstream Cairo reference manual, adapts
10names to Scheme conventions, and then generates Texinfo.
11
12Of course, the generated documentation is not perfect. It still contains
13many C-isms, which are not relevant to the Scheme programmer. In the
14end, fixing all erroneous documentation will have to be a human
15endeavor.
16
17For that reason, Guile-Cairo's documentation build allows users to
18override the generated documentation, simply by adding definitions to
19the `overrides.texi' file included in the source. Then, the next time
20the documentation is autogenerated, those overrides will be used instead
21of the automatically generated docs.
22
23
24How can I help improve Guile-Cairo's documentation?
25---------------------------------------------------
26
27It's very simple, really. Just find the `deffn' in one of the
28defuns-cairo*.texi files, copy and paste it into `overrides.texi', then
29edit to your heart's content. Send a patch to the maintainer and your
30docs will make everyone's lives better.
31
32If it is the "overview" section whose documentation you want to fix, go
33ahead and submit a patch to the section-foo.texi file or to
34guile-cairo.texi. The intention is to not regenerate the section-*
35files.
36
37
38How can I regenerate the documentation?
39---------------------------------------
40
41The toolchain to regenerate the defuns-*.texi files is a bit
42bleeding-edge; for that reason, the generated files are included in the
43Guile-Cairo distribution, and the documentation is normally regenerated
44by hand. If you want to do so yourself, you will need:
45
46 * guile-lib > 0.1.4, or from bzr after 28 July 2007;
47 * guile-gnome-platform > 2.15.93, or from bzr after 27 July 2007.
48 (Really all you need is the glib module, which has gtk-doc.scm.)
49 * guild, which is distributed with Guile.
50 * guile-snarf-docs from Guile's build directory (should be in $PATH)
51
52Then you simply type `make generate-defuns' in doc/.
53
54
55What about a tutorial?
56----------------------
57
58That would be nice, yes, but for now you will have to look at the C
59documentation on http://cairographics.org/.
60