Note ==== There is now a user manual which can be read using yelp and can be found under 'development'. Please refer to this documentation for up-to-date information. General ======= The files to edit manually are generated in the tmpl/ directory. Remember to use < or > instead of '<' and '>', in these files. The first part of each function/macro/struct etc. description should be a very short summary of what it is. This may be used at some point to produce a short reference guide which can be printed out. For macros which return a value just like a function, you must manually add a '@Returns: ' field. You may want to rearrange the functions/macros etc. to split them into related sections. To do this rearrange the MODULE-sections.txt files. You can also add between functions. Currently this just results in a blank line between them in the synopsis. If a function or macro has a very long description, you may want the table of parameters to go somewhere in the middle rather than after the description as would normally happen. To place the table of parameters in the middle of the description simple write "" on its own line at the desired location. Abbreviations ============= These are expanded into appropriate DocBook tags, saving a lot of typing. I've used the Gnome ones (see gnome.txt) but also added '#'. Use function() to refer to functions or macros which take arguments. Use @param to refer to parameters. (I've also used this when referring to parameters of other functions, related to the one being described.) Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS. Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments. Useful DocBook Tags =================== These are the DocBook tags which I have used or I think could be useful. Let me know if I'm doing something wrong! To link to another section in the GTK docs: Hash Tables The linkend is the SGML id on the top item of the page you want to link to. For most pages this is currently the part ("gtk", "gdk", glib") and then the page title ("Hash Tables"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML. To refer to an external function, e.g. a standard C function: ... To include example code: Using a GHashTable. ... or possibly this, for very short code fragments which don't need a title: ... To include bulleted lists: ... ... To include a note which stands out from the text: Make sure you free the data after use. To refer to a type: unsigned char To refer to an external structure (not one described in the GTK docs): XFontStruct To refer to a field of a structure: len To refer to a class name, we could possibly use: GtkWidget but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see the abbreviations above). To emphasize text: This is important but I haven't been using it so far. For filenames use: c:\windows