- Comparison of documentation generators
-
The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
Contents
General information
Basic general information about the generators: creator/company, license/price etc.
Name Creator First public release date Latest stable version Software license ApiGen David Grudl, Jaroslav Hanslík, Ondřej Nešpor 2010 2.2.1 New BSD / GPL v2 / GPL v3 Appledoc Gentle Bytes 2009 2.0.3[1] Modified BSD Autoduck Eric Artzt 1993 2.10[2] Freeware[3] BI Documenter Mienasoft 2006 1.5 Proprietary DB Manual Blue Oceans Ltd 2006 1.3 Proprietary DBDesc Logica2 2005 3.1 Proprietary DBScribe Leadum Software 2007 1.1 Proprietary classdoc Jens Gulden 2001 1.0 GPL CppDoc Richard Feit 1998/11/23 2.3.1 Proprietary Ddoc Walter Bright 2005/09/19 DMD 1.010 / GDC 0.14 Freeware / GPL devscribe Geoff Cox 2008 2.00 [4] MSDN Code Gallery Licenses Doc-O-Matic toolsfactory software inc 2000/11/-- 6.1 Proprietary SQL Documentor InfoCaptor 2005/11/-- 3.4 Proprietary DOC++ Dragos Acostachioaie. 2002/12/22 3.4.10 GPL Document! X Innovasys 1998 5.2.1.3 Proprietary Doxygen Dimitri van Heesch 1997 1.7.5 GPL Epydoc Edward Loper 2002/01/-- 3.0 MIT License fpdoc Sebastian Guenther 2005? 2.4.0 GPL GenHelp FraserSoft 1998/10/-- 5.6.7 Proprietary HeaderDoc Apple Inc. 2000/09/-- 8.7.15 APSL Help Generator Agora Software BV 2004/08/-- 4.0 Proprietary HyperSQL Randy Phillips, Itzchak Rehberg 2001 3.7.5 GPL IDLdoc Michael Galloy 2002 3.3.1 BSD Imagix 4D Imagix Corp. 1995 6.6 Proprietary Javadoc Sun Microsystems 1995 1.6 GPL JSDoc Michael Mathews 2001/07/-- 1.10.2 GPL JsDoc Toolkit Michael Mathews 2007? 2.0.0 MIT License KDOC Sirtaj Singh Kang 1999 3.0.1 ? Natural Docs Greg Valure 2003/05/26 1.51 GPL NDoc Kevin Downs 2003/07/27 1.3.1 GPL phpDocumentor Joshua Eichorn 2000 1.4.2 LGPL phpSimpleDoc Thierry Graff 2008 1.0 GPL Project Analyzer Aivosto Oy 1997? 9.0 Proprietary RDoc Dave Thomas 2001/12/14 in Ruby core Ruby License ROBODoc Frans Slothouber 1995/01/19 4.99.36 GPL Sandcastle Microsoft 2008/05/-- 2.4.10520 Ms-PL SoDa IBM 2008/07/-- 7.0 Proprietary Sphinx Georg Brandl 2008/03/-- 1.1 BSD ThimbleDoc Thimbleopensource.com 2008 0.2beta GPL TwinText PTLogica 2002 2008.0.406 Proprietary VBDOX Mihayl Stamenov 2001/10/26 2.1.0 GPL VSdocman Helixoft 2000/10/-- 5.4 Proprietary jGrouseDoc Denis Riabtchik 2007/04/-- 1.5 BSD Haddock Simon Marlow 2002 2.0.0.0 (2008) BSD Universal Report Universal Software 2001–2010 9.0 Free Education / Proprietary YARD Loren Segal 2007/02/24 0.7.3 MIT License Name Creator First public release date Latest stable version Software license Operating system support
The operating systems the generators can run on.
Windows Mac OS X Linux BSD Unix ApiGen Yes Yes Yes Yes Yes Appledoc No Yes No No No Autoduck Yes No No No No BI Documenter Yes No No No No classdoc Yes Yes Yes Yes Yes CppDoc Yes No Yes No No DB Manual Yes No No No No DBDesc Yes No No No No DBScribe Yes No No No No Ddoc Yes Yes3 Yes Yes3 No devscribe Yes No No No No Doc-O-Matic Yes No No No No DOC++ Yes Yes? Yes Yes Yes Document! X Yes No No No No Doxygen Yes Yes Yes Yes Yes Epydoc Yes Yes Yes Yes Yes fpdoc Yes Yes Yes Yes Yes GenHelp Yes No No No No Haddock Yes Yes Yes Yes Yes HeaderDoc No Yes Yes Yes Yes Help Generator Yes No No No No HyperSQL Yes Yes Yes Yes Yes IDLdoc Yes Yes Yes No Yes Imagix 4D Yes No Yes No Yes Javadoc Yes Yes Yes Yes Yes jGrouseDoc Yes Yes Yes Yes Yes JSDoc Yes Yes Yes Yes Yes JsDoc Toolkit Yes Yes Yes Yes Yes KDOC Partial Yes Yes Yes Yes Natural Docs Yes Yes Yes Yes Yes NDoc Yes No No No No phpDocumentor Yes Yes Yes Yes Yes phpSimpleDoc Yes Yes Yes Yes Yes Project Analyzer Yes No No No No RDoc Yes Yes Yes Yes Yes ROBODoc Yes Yes Yes Yes Yes Sandcastle Yes No No No No ThimbleDoc Yes Yes Yes Yes Yes TwinText Yes No No No No Universal Report Yes No No No No VBDOX Yes No No No No VSdocman Yes No No No No YARD Yes Yes Yes Yes Yes Windows Mac OS X Linux BSD Unix Note (4): GNU D Compiler.
Language support
The programming languages the generators recognize.
C/C++ Java C# VB / VBScript Delphi / Pascal Ada D IDL .NET1 Access Fortran ApiGen No No No No No No No No No No No Autoduck Yes No No Yes No No No No No No No BI Documenter No No No No No No No No Yes No No classdoc No Yes No No No No No No No No No CppDoc Yes No No No No No No No No No No DB Manual No No No No No No No No Yes No No DBDesc No No No No No No No No Yes No No DBScribe No No No No No No No No No No No Ddoc No No No No No No Yes No No No No devscribe No No Yes No No No No No No No No Doc-O-Matic Yes Yes Yes Yes Yes No No Yes Yes No No DOC++ Yes Yes No No No No No Yes No No No Document! X C++/CLI only No Yes Yes No No No Yes Yes Yes No Doxygen Yes Yes Yes No3 No3 No Partial Yes No No Yes Epydoc No No No No No No No No No No No fpdoc No No No No Yes No No No No No No GenHelp Yes No Yes No Yes No No No Yes No No Haddock No No No No No No No No No No No HeaderDoc Yes Yes No No Yes No No Yes No No No Help Generator Yes No Yes Yes No No No No Yes Yes No HyperSQL No No No No No No No No No No No Imagix 4D Yes Yes No No No No No No No No No Javadoc No Yes No No No No No No No No No jGrouseDoc No No No No No No No No No No No JSDoc No No No No No No No No No No No JsDoc Toolkit No No No No No No No No No No No KDOC Yes No No No No No No Yes No No No Natural Docs Partial Partial Yes Partial Partial Partial No No No No Partial NDoc No No Yes No No No No No Yes No No phpDocumentor No No No No No No No No No No No phpSimpleDoc No No No No No No No No No No No Project Analyzer No No No Yes No No No No Yes No No RDoc Partial No No No No No No No No No No ROBODoc Yes Yes Yes Yes Yes Yes Yes Yes No No Yes TwinText Yes Yes Yes Yes Yes Yes Partial Yes Yes No Yes Universal Report Yes Yes Yes Yes Yes Yes No No Yes Yes Yes VBDOX No No No Yes No No No No No No No VSdocman No No Yes Yes No No No No Yes No No YARD No No No No No No No No No No No C/C++ Java C# VB / VBScript Delphi / Pascal Ada D IDL .NET1 Access Fortran PHP Perl Python Ruby JavaScript ActionScript PL/SQL Tcl Haskell Any With Comments2 ApiGen Yes No No No No No No No No No Autoduck No No No No No No No No No No BI Documenter No No No No No No No No No No classdoc No No No No No No No No No No CppDoc No No No No No No No No No No DB Manual No No No No No No No No No No DBScribe No No No No No No Yes No No No Ddoc No No No No No No No No No No devscribe No No No No No No No No No No Doc-O-Matic Yes No No No Yes No No No No Yes DOC++ No No No No No No No No No No Document! X No No No No No No Yes No No No Doxygen Yes No3 Yes No No No No No No No Epydoc No No Yes No No No No No No No fpdoc No No No No No No No No No No GenHelp No No No No No No No No No No Haddock No No No No No No No No Yes No HeaderDoc Yes Yes No No Yes No No No No No HyperSQL No No No No No No Yes No No No Imagix 4D No No No No No No No No No No Javadoc No No No No No No No No No No jGrouseDoc No No No No Yes No No No No No JSDoc No No No No Yes No No No No No JsDoc Toolkit No No No No Yes No No No No No KDOC No No No No No No No No No No Natural Docs Partial Yes Partial Partial Partial Yes Partial Partial No Yes NDoc No No No No No No No No No No phpDocumentor Yes No No No No No No No No No phpSimpleDoc Yes No No No No No No No No No Project Analyzer No No No No No No No No No No RDoc No No No Yes No No No No No No ROBODoc Yes Yes No Yes Yes Partial Yes Yes No Yes ThimbleDoc Yes No No No No No No No No No TwinText Yes Yes Yes Yes Yes Yes Yes Yes No Yes Universal Report Yes Yes Yes No Yes Yes Yes No No Yes VBDOX No No No No No No No No No No VSdocman No No No No No No No No No No YARD No No No Yes No No No No No No PHP Perl Python Ruby JavaScript ActionScript PL/SQL Tcl Haskell Any With Comments2 Note (1): .NET is not a programming language, but is listed here for convenience.
Note (2): Generators listed here can be extended to support any language that has comments.
Note (3): Though not supported as a native input language, Doxygen can be extended through the use of filters. Examples include Visual Basic, VB.NET, Perl, and Pascal:
Input formats
The input formats the generators can read.
Text Binary ApiGen Yes No Autoduck Yes No BI Documenter No Yes DB Manual No Yes classdoc No Yes CppDoc Yes No DBDesc No Yes DBScribe No Yes Ddoc Yes No devscribe No Yes Doc-O-Matic Yes No DOC++ Yes No (except Java class files) Document! X Yes Yes Doxygen Yes No Epydoc Yes No fpdoc Yes No GenHelp Yes No Haddock Yes No HeaderDoc Yes No Help Generator Yes Yes HyperSQL Yes No IDLdoc Yes No (except for .sav files) Imagix 4D Yes No Javadoc Yes No jGrouseDoc Yes No JSDoc Yes No JsDoc Toolkit Yes No KDOC Yes No Natural Docs Yes No NDoc No Yes Plain Old Documentation Yes No phpDocumentor Yes No phpSimpleDoc Yes No Project Analyzer Yes Yes RDoc Yes No ROBODoc Yes No TwinText Yes Yes Universal Report Yes No VBDOX Yes No VSdocman Yes No YARD Yes No Text Binary Output formats
The output formats the generators can write.
HTML CHM RTF PDF LaTeX PostScript man pages DocBook XML ApiGen Yes No No No No No No No No Autoduck Yes No Yes No No No No No No BI Documenter Yes Yes No No No No No No No classdoc Yes No No No No No No No No CppDoc Yes No No No No No No No No DB Manual Yes Yes No No No No No No No DBDesc Yes No Yes Yes No No No No Yes DBScribe Yes Yes Yes No No No No No No Ddoc Yes Yes4 No Yes4 Yes4 Yes4 Yes4 No Yes4 devscribe Yes No No No No No No No Yes Doc-O-Matic Yes Yes Yes Yes No No No No Yes DOC++ Yes No No Yes7 Yes Yes7 No No No Document! X Yes Yes No No No No No No No Doxygen Yes Yes Yes Yes Yes Yes Yes No Yes Epydoc Yes No No Yes Indirectly5 Indirectly5 No No No fpdoc Yes Yes Yes No Yes No Yes No Yes GenHelp Yes Yes Yes No No No No No No Haddock Yes Yes No No No No No Partial No HeaderDoc Yes No No No No No Yes No Yes Help Generator Yes Yes Yes No No No No No Yes HyperSQL Yes8 No No No No No No No No8 IDLdoc Yes No No No Yes No No Yes Yes Imagix 4D Yes No Yes No No No No No No Javadoc Yes Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 jGrouseDoc Yes No No No No No No No Yes JSDoc Yes No No No No No No No No JsDoc Toolkit Yes No No No No No No No Yes+JSON KDOC Yes No No No No No No No No Natural Docs Yes No No No No No No No No NDoc Yes Yes No No No No No No No phpDocumentor Yes Yes No Yes No No No Yes Yes phpSimpleDoc Yes No No No No No No No No Project Analyzer Yes Yes Yes Yes No No No No No Sandcastle Yes Yes No No No No No No No RDoc Yes Yes9 No No No No Indirectly10 No Yes9 ROBODoc Yes Yes Yes Yes Yes Yes Yes Yes No ThimbleDoc Yes No No No No No No No No TwinText Yes Yes No No No No No No No Universal Report Yes No Yes Yes Yes Yes No No No VBDOX Yes Yes Yes No No No No No No VSdocman Yes Yes Yes No No No No No Yes YARD Yes No No No No No No No No HTML CHM RTF PDF LaTeX PostScript man pages DocBook XML Note (4): Ddoc has a macro system which can be customized to output any desired format. CHM, groff (manpages), XHTML, XML, and LaTeX (so PostScript and PDF) were tested. They are not currently included in the standard distribution. Standard HTML output also is generated using macros and can be redefined.
Note (5): Though not officially supported as an output format, Epydoc uses LaTeX and PostScript as intermediate steps to produce the final PDF documentation.
Note (6): Via Doclets from Third Parties.
Note (7): DOC++ outputs LaTeX and includes templates to enable conversion to PDF or PostScript with the appropriate latex tools. Required tools however are not included with DOC++.
Note (8): HyperSQL can output UnitTests (which can be embedded with the JavaDoc like description) as XML
Note (9): RDoc currently only provides generators for CHM and XML documents in the RDoc version provided as part of the Ruby 1.9 Core.
Note (10): RDoc generates documentation for RI, which is Ruby's version of the Unix man pages.
Other features
possibility of extended customization generated diagrams highlighting and linking of generated doc parameter types extracted ApiGen Customizable Latte-based templates cross reference to generated documentation, and to php.net function reference Yes Autoduck BI Documenter classdoc CppDoc DB Manual DBDesc full customization for all output formats using XSL templates and a built-in designer All SQL code syntax highlighted Yes DBScribe Ddoc with macros devscribe Via code, XSLT, CSS and web.config Looks and reads just like code with syntax coloring in Visual Studio style. Supports linking from all member and method parameter types. Doc-O-Matic full customization for all output formats, template for MSDN and other lookalike output, custom XMLDoc/JavaDoc tags local, module and global graphical class hierarchies, local text class hierarchies fully cross linked project wide, automatic inter-project links, automatic links into framework documentation like MSDN, Borland/CodeGear Help types extracted and linked DOC++ Document! X customizable HTML based templates, custom comment tags linked graphical object relationship diagrams internal links and links to .NET framework documentation types extracted and linked Doxygen with XSLT caller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams Epydoc Haddock Yes Yes HeaderDoc Custom headers, footers, code coloring, and other CSS styles in individual pages. Project-wide TOC is generated from a user-defined template. Configurable syntax highlighting/coloring with automatic linking to symbols in declaration, ability to manual link to symbols in discussion, etc. Provides warnings if tagged parameters do not match code, parsed parameters included in XML output and Doxygen-style tagfile (-D flag in 8.7). Partial C preprocessor support with -p flag. Preliminary support for #if/#ifdef control over documentation through an external utility (not currently installed by default). Help Generator HyperSQL custom CSS, options via configuration file, optional central to do/bug lists (items extracted from javadoc comments) Pie Charts for code statistics, object relationship diagrams (dependency graphs) fully cross linked project wide for views, packages, package functions, and package procedures; optional inclusion of source code with syntax highlighting; links to javadoc generated references as well as directly to the code lines; code statistics Provides warnings if tagged parameters count does not match code IDLdoc customizable through user-defined templates and stylesheets Yes Yes Imagix 4D customizable through style sheets and CSS linked hierarchy and dependency graphs for function calls, variable sets and reads, class inheritance and interface, and file includes and interface, intra-function flow charts fully cross linked project wide, including all hierarchy and dependency graphs, metrics tables, source code snippets, and source files full semantic analysis of source code, including parameter types, condition compilation directives, macro expansions Javadoc jGrouseDoc With XSLT cross reference to generated documentation Yes JSDoc Yes JsDoc Toolkit Yes KDOC Natural Docs NDoc phpDocumentor Smarty-based templates class inheritance diagrams cross reference to generated documentation, and to php.net function reference Yes phpSimpleDoc class / interface inheritance Yes Yes Project Analyzer custom CSS File dependencies, inheritance, control flow, data flow, variable access, class instantiation, data declaration, Form.Show order, procedure calls, project dependencies, file belongs to project, class cohesion.
Cross-referenced source code types extracted and linked, source code level linkage RDoc ROBODoc TwinText 20 CSS styles. Well documented CSS facilitates customization. ASCII diagramming and picture importing. Table of Contents, Index, and per-page cross referencing. Method/Function parameters extracted and linked. Universal Report customizable HTML based templates, custom comment tags linked graphical object relationship diagrams internal links between routines and objects data types extracted and linked VBDOX VSdocman full customization for all output formats, templates for MSDN-like output, custom XML comment tags linked graphical class diagrams, class inheritance tree internal links and links to .NET framework documentation types extracted and linked YARD customizable Ruby templates class diagrams with extra tool internal classes/modules cross-referenced and Ruby source highlighted possibility of extended customization generated diagrams highlighting and linking of generated doc parameter types extracted See also
- API Writer
Categories:- Software comparisons
- Documentation generators
Wikimedia Foundation. 2010.