diff --git a/ChangeLog b/ChangeLog
index 3b301c90d..dbe1a2414 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-09-19 Richard Frith-Macdonald
+
+ * Source/DocMakefile: Specify template options
+ * Tools/autogsdoc.m: Remove hack to turn templates on by default.
+ Document the use of templates.
+ * Tools/gsdoc-0_6_7.dtd: Hack in more types for indexing ... don't
+ know if the software works for them though.
+
2002-09-17 Richard Frith-Macdonald
* Source/Unicode.m: Restructure conversion from unicode slightly,
diff --git a/Source/DocMakefile b/Source/DocMakefile
index e38ff7d07..d41ac4fd6 100644
--- a/Source/DocMakefile
+++ b/Source/DocMakefile
@@ -109,6 +109,10 @@ Base_AGSDOC_FLAGS = \
-HeaderDirectory ../Headers/Foundation \
-Declared Foundation \
-Standards YES \
+ -ConstantsTemplate TypesAndConstants \
+ -FunctionsTemplate Functions \
+ -TypedefsTemplate TypesAndConstants \
+ - VariablesTemplate TypesAndConstants \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
diff --git a/Tools/autogsdoc.m b/Tools/autogsdoc.m
index 117bd471a..3cfb904a8 100644
--- a/Tools/autogsdoc.m
+++ b/Tools/autogsdoc.m
@@ -194,6 +194,20 @@
supplied as command-line arguments as usual) -
+ - ConstantsTemplate
+ Specify the name of a template document into which documentation
+ about constants should be inserted from all files in the project.
+ This is useful if constanr in the source code are scattered around many
+ files, and you need to group them into one place.
+ You are responsible for ensuring that the basic template document
+ (into which individual constant documentation is inserted) contains
+ all the other information you want, but as a conveniencem autogsdoc
+ will generate a simple template (which you may then edit) for you
+ if the file does not exist.
+
Insertion takes place immediately before the back
+ element (or if that does not exist, immediately before the end
+ of the body lement) in the template.
+
- Declared
Specify where headers are to be documented as being found.
The actual name produced in the documentation is formed by appending
@@ -218,6 +232,20 @@
is placed in the current directory. This directory is also
used as a last resort to locate source files (not headers).
+ - FunctionsTemplate
+ Specify the name of a template document into which documentation
+ about functions should be inserted from all files in the project.
+ This is useful if function source code is scattered around many
+ files, and you need to group it into one place.
+ You are responsible for ensuring that the basic template document
+ (into which individual function documentation is inserted) contains
+ all the other information you want, but as a conveniencem autogsdoc
+ will generate a simple template (which you may then edit) for you
+ if the file does not exist.
+
Insertion takes place immediately before the back
+ element (or if that does not exist, immediately before the end
+ of the body lement) in the template.
+
- GenerateHtml
May be used to specify if HTML output is to be generated.
Defaults to YES.
@@ -301,6 +329,20 @@
If you wish to include such projects, you must do so explicitly
using -Projects
+ - TypedefsTemplate
+ Specify the name of a template document into which documentation
+ about typedefs should be inserted from all files in the project.
+ This is useful if typedef source code is scattered around many
+ files, and you need to group it into one place.
+ You are responsible for ensuring that the basic template document
+ (into which individual typedef documentation is inserted) contains
+ all the other information you want, but as a conveniencem autogsdoc
+ will generate a simple template (which you may then edit) for you
+ if the file does not exist.
+
Insertion takes place immediately before the back
+ element (or if that does not exist, immediately before the end
+ of the body lement) in the template.
+
- Up
A string used to supply the name to be used in the 'up' link from
generated gsdoc documents. This should normally be the name of a
@@ -308,6 +350,20 @@
If this is missing or set to an empty string, then no 'up' link
will be provided in the documents.
+ - VariablesTemplate
+ Specify the name of a template document into which documentation
+ about variables should be inserted from all files in the project.
+ This is useful if variable source code is scattered around many
+ files, and you need to group it into one place.
+ You are responsible for ensuring that the basic template document
+ (into which individual variable documentation is inserted) contains
+ all the other information you want, but as a conveniencem autogsdoc
+ will generate a simple template (which you may then edit) for you
+ if the file does not exist.
+
Insertion takes place immediately before the back
+ element (or if that does not exist, immediately before the end
+ of the body lement) in the template.
+
- WordMap
This value is a dictionary used to map identifiers/keywords found
in the source files to other words. Generally you will not have
@@ -410,10 +466,6 @@ main(int argc, char **argv, char **env)
defs = [NSUserDefaults standardUserDefaults];
[defs registerDefaults: [NSDictionary dictionaryWithObjectsAndKeys:
@"Untitled", @"Project",
- @"TypesAndConstants", @"ConstantsTemplate",
- @"Functions", @"FunctionsTemplate",
- @"TypesAndConstants", @"TypedefsTemplate",
- @"TypesAndConstants", @"VariablesTemplate",
nil]];
verbose = [defs boolForKey: @"Verbose"];