mirror of https://github.com/CGAL/cgal
71 lines
2.5 KiB
Plaintext
71 lines
2.5 KiB
Plaintext
# Doxygen for CGAL #
|
|
|
|
This is the documentation of doxygen hacks that are applied to make
|
|
the output of Doxygen more suitable to CGAL. It explains the general
|
|
structure of the build system, the ordinary customizations and the
|
|
hacks that create what you see.
|
|
|
|
## Overall structure ##
|
|
|
|
## Ordinary Customization ##
|
|
|
|
## Hacks ##
|
|
|
|
### Package Overview ###
|
|
|
|
The package overview is build by having a special command that is
|
|
filtered by the shell script pkglist_filter.sh.
|
|
|
|
A command has to be of the form \package_listing{PKG_NAME}, where
|
|
PKG_NAME cannot contain a closing }.
|
|
|
|
The command is replaced by the text between the two delimiters
|
|
PkgDescBegin and PkgDescEnd in the file ../PKG_NAME/doc/PKG_NAME/PackageDescription.txt
|
|
|
|
If PKG_NAME is of the form A/B the selected file is
|
|
../A/doc/B/PackageDescription.txt. This is to support packages like
|
|
Sweep_line_2 and TDS_2 which don't reside in their own SVN packages.
|
|
|
|
### Footnotes ###
|
|
|
|
A JQuery footnotes plug-in jquery.footnotes is used to handle
|
|
footnotes. The special doxygen command \footnote expands to the
|
|
appropriate html marker. Some JavaScript in `header.html` is used to
|
|
append the `<ol div="autoFootnotes0">` to the current doc-content div. It is not added to the footer because this would break when tree views are enabled.
|
|
|
|
### autotoc ###
|
|
|
|
TOCs in HTML are generated by the some JavaScript. This is necessary
|
|
to work around the fact that doxygen does not supported sections that
|
|
have no label in a TOC. This command simply becomes a normal toc in
|
|
LaTex.
|
|
|
|
### resize ###
|
|
|
|
Resizing breaks when stuff is added to headers and footers. We
|
|
overwrite the resize functions used by Doxygen with our own
|
|
JavaScript. Also see `header.html`. See the associated Doxygen bug
|
|
report: https://bugzilla.gnome.org/show_bug.cgi?id=683734
|
|
|
|
### Top Nav-Bar ###
|
|
|
|
A simple customization in `header.html` with impact on resizing
|
|
functionality.
|
|
|
|
### Reference Manual link in the tree view ###
|
|
|
|
This hack fiddles with the internal structures and functions of the
|
|
treeview to remove the unnecessary intermediate top-level module part.
|
|
|
|
It assigns the first element of the module array (found in module.js)
|
|
to the Reference Manual entry. This makes the tree view link go to
|
|
that group directly instead of the intermediate link. It also removes
|
|
one level of nesting.
|
|
|
|
Unfortunately this changes the overall tree structure. To adjust for
|
|
that we hijack the gotoNode function of navtree.js and *augment* it
|
|
with an additional check for the specific tree level we borked and
|
|
redirect it.
|
|
|
|
All of it is in `header.html`.
|