views:

245

answers:

6

Is there any way to generate project docs during automated builds?

I'd like to have a single set of source files (HTML?) with the user manual, and from them generate:

  • PDF document
  • CHM help
  • HTML version of the help

The content would be basically the same in all three formats.

Currently I'm using msbuild and CCNET, but I could change that if needed.

+7  A: 

Yes!

  • Use SandCastle to build CHM/HTM documentation of the APIs.
  • Use DocBook + FOP and other tools to produce other kinds of documentation in PDF, RTF, HTML etc...

They can be easily integrated with CruiseControl.NET through NAnt.

Sklivvz
+2  A: 

The Apache Forrest project might go some way to giving you what you want.

You'll be generally better off writing your documentation in XML. From that you ought to be able to generate just about anything you need.

paul
+6  A: 

Did you try Doxygen? It's available for Windows too and it should be easy to integrate it in any build script/process.

unexist
+1  A: 

Help and Manual can generate good quality PDF, HTML and CHM (and other formats) from a single source. It also has a command line interface. I have version 4 and I like it a lot. I use conditionals (like #ifdefs) to to generate Windows and Mac versions of my documentation in various formats as part of a build .bat/.csh file. Version 5 is now available.

http://www.ec-software.com/

Andy Brice
+1  A: 

If you want your api's documented too, and you are using msbuild, then consider using DocProject to control the SandCastle build. (These tools are not for end-user documentation...)

thijs
A: 

I've had an experience with Doxygen. It is nice and easy, but it makes you want overcommenting the code to ease later documetation work.

akalenuk