mdoc permits creating and updating documentation stubs based on the contents of an assembly. It does not rely on documentation found within the source code.
The advantages are:
Inserting good documentation into the source code can frequently bloat the source file, as the documentation can be longer than the actual method that is being documented.
Documentation can be generated using the mdoc update command:
mdoc update -o docs/en ProjectName.dllOnce the documentation stubs have been generated (and hopefully later filled in with actual documentation), there are three ways to view the documentation:
mdoc export-html -o /srv/www/htdocs/ProjectName docs/en
From a monodoc source checkout, you can do this:
cd engine make webThis will use xsp(1) to serve the ASP.NET webapp; Visit http://localhost:8080/ to view the documentation.
mdoc assemble -o ProjectName docs/enThe above command creates the files ProjectName.tree and ProjectName.zip. An additional ProjectName.sources file must be provided which describes where in the help system the documentation should be hooked up; it is a very simple XML file, like this:
<?xml version="1.0"?> <monodoc> <source provider="ecma" basefile="ProjectName" path="various" /> </monodoc>The above configuration file describes that the documentation is in ECMA format, that the base file name is ProjectName and that it should be hooked up in the "various" part of the documentation tree. If you want to look at the various nodes defined in the documentation, you can look at the monodoc.xml file which is typically installed in /usr/lib/monodoc/monodoc.xml.
Once you have all of the required files (.zip, .tree and .sources) you can install them into the system with the following command:
cp ProjectName.tree ProjectName.zip ProjectName.source \ `pkg-config monodoc --variable sourcesdir`The above will copy the files into the directory that Monodoc has registered; you might need root permissions to do this. The actual directory is returned by the pkg-config invocation.
mdoc assemble
See the mdoc-assemble(1) man page for details.
mdoc export-html
See the mdoc-export-html(1) man page for details.
mdoc export-msxdoc
See the mdoc-export-msxdoc(1) man page for details.
mdoc help
mdoc help assemble
is equivalent to:
mdoc assemble --help
Multiple sub-commands may be listed at once:
mdoc help assemble export-html update validate
mdoc update
See the mdoc-update(1) man page for details.
mdoc validate
See the mdoc-validate(1) man page for details.