gendoc.main
Ddoc generator
This is a program for simplifying ddoc generation.
It ensures that the names of the generated .html files include the full
module path (with underscores instead of dots) rather than simply being
named after the modules (since just using the module names results in
connflicts if any packages have modules with the same name).
It also provides an easy way to exclude files from ddoc generation. Any
modules or packages with the name internal are excluded as well as any
files that are passed on the command line. And package.d files have their
corresponding .html files renamed to match the package name.
Also, the program generates a .ddoc file intended for use in a navigation
bar on the side of the documentation (similar to what dlang.org has) uses
it in the ddoc generation (it's deleted afterwards). The navigation bar
contains the full module hierarchy to allow for easy navigation among the
modules in the project. Of course, the other .ddoc files have to actually
use the MODULE_MENU macro in the generated .ddoc file, or the documentation
won't end up with a navigation bar.
The program assumes a layout similar to dub in that the source files are
expected to be in a directory called "source", and the generated
documentation goes in the "docs" directory (which is deleted before
documentation generation to ensure a clean build).
It's expected that any .ddoc files being used will be in the "ddoc"
directory, which isn't a dub thing, but they have to go somewhere.
In addition, the program expects there to be a "source_docs" directory. Any
.dd files that are there will have corresponding .html files generated for
them (e.g. for generating index.html), and any other files or directories
(e.g. a "css" or "js" folder) will be copied over to the "docs" folder.
Note that this program does assume that all module names match their file
names and that all package names match their folder names.
License:
Boost License 1.0.
Author:
Jonathan M Davis
- int
gendocMain
(string[] args); - Main routine of gendoc
- void
setup
(ref ModuleManager modmgr, const ref Config cfg);
voidsetup
(ref ModuleManager modmgr, Config cfg); setup
the module manager- void
setup
(ref DocumentGenerator generator, const ref Config cfg, const ref ModuleManager modmgr);
voidsetup
(ref DocumentGenerator generator, Config cfg, ModuleManager modmgr); setup
the module manager- void
initializeDocsDirecotry
(string docsDir); - Setup docs directory