Beautiful documentation for .NET projects

Now you can generate beautiful, consistent and well connected documentation for .NET projects on Read the Docs. This set of tools allows you to combine both API and general documentation (howtos, walkthroughs, architecture references, etc) into the one documentation source, while cross-linking between your API and general documentation.

How does it work?

You create a new Sphinx documentation project using the SphinxDocInit tool included in this project. This configures the Sphinx conf.py and adds utility scripts that are capable of parsing the API documentation produced by the C# compiler and the SphinxDataGenerator tool.

Do I still get to document things using XML in C#?

Yes, all of your API documentation is pulled from the C# XML docstrings that you have been writing. We use a few additional (optional) tags to allow you to organise your documentation a bit better, so that you can contextually place API documentation within various sections of your overall documentation.

What does it look like?

Check out the Protogame documentation for an example of the kind of documentation that this set of tools can produce: https://protogame.readthedocs.org/

How do I use it?

If you are using Protobuild to manage your .NET projects, you can add it with:

Protobuild.exe --add http://protobuild.org/hach-que/SphinxForDotNet

This will automatically configure the SphinxDataGenerator to run as a post-build event.

If you are not using Protobuild, then you'll need to clone the repository and run Protobuild.exe to generate the C# solution and project files. On Windows you can double-click it; under Mac or Linux run it from terminal using mono. This will generate the C# project and solution files, which you then need to build in your IDE.

Once it is configured for your .NET project, run Protobuild.exe --execute SphinxDocInit path/to/empty/folder to create a new Sphinx documentation project. You'll need to initialize a Git repository in this folder, and configure Read the Docs to point at it (our suggestion is to host this Git repository on GitHub; Read the Docs can import repositories from GitHub automatically).