Comparison of documentation generators

Short description: none

The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs. Note that many of the generators listed are no longer maintained.

## Contents

* 1 General information
* 2 Supported formats
* 3 Other features
* 4 See also
* 5 Notes
* 6 References

## General information

Basic general information about the generators, including: creator or company, license, and price.

Name  | Creator  | Input format  | Languages (alphabet order)  | OS support  | First public release date  | Latest stable version  | Software license

|
|
|
|
|
|
|

Ddoc | Walter Bright  | Text  | D  | Windows, OS X, Linux and BSD  | 2005/09/19  | DMD 2.078.3  | Boost
Document! X | Innovasys  | Text, Binary  | C++/CLI only, C#, IDL, Java, VB, VBScript, PL/SQL  | Windows only  | 1998  | 2014.1  | Proprietary
Doxygen | Dimitri van Heesch  | Text  | C/C++, C#, D, IDL, Fortran, Java, PHP, Python  | Any  | 1997/10/26  | 1.9.1  | GPL
Epydoc | Edward Loper  | Text  | Python  | Any  | 2002/01/—  | 3.0 (2008)  | MIT
fpdoc (Free Pascal Documentation Generator)  | Sebastian Guenther  | Text  | Pascal  | [verification needed] | 2005?  | 2.6.4  | GPL
Haddock | Simon Marlow  | Text  | Haskell  | Any  | 2002  | 2.15.0 (2014)  | BSD
HeaderDoc | Apple Inc. | Text  | AppleScript, Bash, Csh, C, C++, Delphi, IDL, Java, JavaScript, MIG, Pascal, Perl, PHP, Python, Ruby, Tcl  | Any Unix-like  | 2000/09/—  | 8.9.28 (2013)  | APSL
Imagix 4D | Imagix Corp.  | Text  | C, C++, Java  | Windows, Linux, Unix  | 1995  | 7.3  | Proprietary
Javadoc | Sun Microsystems | Text  | Java  | Any  | 1995  | 1.6  | GPL
JSDoc | Michael Mathews  | Text  | JavaScript  | Any  | 2001/07/—  | 1.10.2  | GPL
JsDoc Toolkit | Michael Mathews  | Text  | JavaScript  | Any  | 2007?  | 2.0.0  | MIT
mkd  | Jean-Paul Louyot  | Text  | Any with comments  | Unix, Linux, Windows  | 1989  | 2015  | EUPL GPL
MkDocs | Tom Christie  | Text  | Python  | Any  | 2014/10/29  | 1.5.3  | BSD
Natural Docs | Greg Valure  | Text  | Any with comments  | Any  | 2003/05/26  | 2.0.2  | GPL
NDoc | Jason Diamond, Jean-Claude Manoli, Kral Ferch  | Binary  | C#  | Windows only  | 2003/07/27  | 1.3.1  | GPL
pdoc | Andrew Gallant  | Text  | Python  | Any  | 2013  | 1.0.1 (2021)  | Unlicense
perldoc | Larry Wall  | Text  | Perl  | Any  | 1994  | 5.16.3  | Artistic, GPL
phpDocumentor | Joshua Eichorn  | Text  | PHP  | Any  | 2000  | 3.0.0  | LGPL for 1.x, MIT for 2+
pydoc | Ka-Ping Yee[1] | Text  | Python  | Any  | 2000  | in Python core  | Python
RDoc | Dave Thomas  | Text  | C, C++, Ruby  | Any  | 2001/12/14  | in Ruby core  | Ruby
ROBODoc | Frans Slothouber  | Text  | Any with comments  | Any  | 1995/01/19  | 4.99.36 (2015)  | GPL
Sandcastle | Microsoft | Text  | .NET  | Windows only  | 2008/05/—  | 2.4.10520 (2016)  | Ms-PL
Sphinx | Georg Brandl  | Text  | Ada, C, C++, Fortran, JavaScript, PHP, Python, Ruby  | Any  | 2008/03/21  | 3.5.4  | BSD
Visual Expert | Novalys  | Text, Binary  | C#, PL/SQL, Transact-SQL, PowerBuilder  | Windows only  | 1995  | 2017  | Proprietary
VSdocman | Helixoft  | Text  | VB, VBScript, C#  | Windows only  | 2003 Oct 2  | 9.0  | Proprietary
YARD | Loren Segal  | Text  | Ruby  | Any  | 2007/02/24  | 0.7.3  | MIT
Name  | Creator  | Input format  | Languages (alphabet order)  | OS support  | First public release date  | Latest stable version  | Software license

## Supported formats

The output formats the generators can write.

| HTML | CHM  | RTF | PDF  | LaTeX | PostScript | man pages  | DocBook | XML | ePub

|
|
|
|
|
|
|
|
|
|

Ddoc | Yes  | Yes[lower-alpha 1] | No  | Yes[lower-alpha 1] | Yes[lower-alpha 1] | Yes[lower-alpha 1] | Yes[lower-alpha 1] | No  | Yes[lower-alpha 1]
Document! X | Yes  | Yes  | No  | No  | No  | No  | No  | No  | No
Doxygen | Yes  | Yes  | Yes  | Indirectly[lower-alpha 2] | Yes  | Indirectly[lower-alpha 2] | Yes  | Yes  | Yes  | No
Epydoc | Yes  | No  | No  | Yes  | Indirectly[lower-alpha 3] | Indirectly[lower-alpha 3] | No  | No  | No
Haddock | Yes  | Yes  | No  | No  | No  | No  | No  | Partial  | No
HeaderDoc | Yes  | No  | No  | No  | No  | No  | Yes  | No  | Yes
Imagix 4D | Yes  | No  | Yes  | No  | No  | No  | No  | No  | No
Javadoc | Yes  | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4]
JSDoc | Yes  | No  | No  | No  | No  | No  | No  | No  | No
JsDoc Toolkit | Yes  | No  | No  | No  | No  | No  | No  | No  | Yes+JSON
MkDocs | Yes  | No  | 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
pdoc | Yes  | No  | No  | No  | No  | No  | No  | No  | No  | No
phpDocumentor | Yes  | Yes (1.x only)  | No  | Yes (1.x only)  | No  | No  | No  | Yes (1.x only)  | Yes (1.x only)
pydoc | Yes  | No  | No  | No  | No  | No  | No  | No  | No  | No
RDoc | Yes  | Yes[lower-alpha 5] | No  | No  | No  | No  | Indirectly[lower-alpha 6] | No  | Yes[lower-alpha 5]
ROBODoc | Yes  | Indirectly  | Yes  | Indirectly[lower-alpha 3] | Yes  | Indirectly[lower-alpha 3] | Yes  | Yes  | No
Sandcastle | Yes  | Yes  | No  | No  | No  | No  | No  | No  | No
Sphinx | Yes  | Yes  |  | Indirectly[lower-alpha 7] | Yes  |  | Yes  |  |  | Yes
Visual Expert | Yes  | No  | No  | No  | No  | No  | No  | No  | No
VSdocman | Yes  | Yes  | No  | Yes  | 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  | ePub

## Other features

| possibility of extended customization  | generated diagrams  | highlighting and linking of generated doc  | parameter types extracted

|
|
|
|

Ddoc | with macros  |  |  |
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 manually 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. Support for #if/#ifdef control over documentation inclusion using the -D and -U command-line flags.
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, conditional compilation directives, macro expansions
Javadoc |  |  |  |
JSDoc |  |  |  | Yes
JsDoc Toolkit |  |  |  | Yes
mkd  | Customisable for all type of comments  | 'as-is' in comments  | all general documentation; references, manual, organigrams, ... Including the binary codes included in the comments.  | all coded comments
MkDocs |  |  |  |
Natural Docs |  |  |  |
NDoc |  |  |  |
perldoc | Extend the generator classes through Perl programming.  |  | Only linking  |
pdoc | overridable Jinja2 templates  |  | source code syntax highlighting, automatic cross-linking to symbol declarations  | Yes
phpDocumentor | Smarty-based templates (1.x), Twig-based templates (2+)  | class inheritance diagrams  | cross reference to generated documentation, and to php.net function reference  | Yes
pydoc |  |  |  |
RDoc |  |  |  |
ROBODoc |  |  |  |
Sphinx | 10 themes; Jinja2 templating; Python plugins  | several in sphinx-contrib, e.g. using aafigure, actdiag, Google Chart, or gnuplot  | Table of Contents, Index; cross referencing; syntax highlighting with Pygments  | custom objects (such as functions and classes)
Visual Expert | documentation content and styles customizable  | Class inheritance, call trees, dependencies (impact analysis)  | internal links between classes, methods, variables, tables, columns...  | all types extracted
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  |

## See also

* Code readability
* Documentation generator
* Literate programming
* Self-documenting code

## Notes

1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 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.
2. ↑ 2.0 2.1 Generated from the LaTeX output only.[2]
3. ↑ 3.0 3.1 3.2 3.3 Though not officially supported as an output format, Epydoc uses LaTeX and PostScript as intermediate steps to produce the final PDF documentation.
4. ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Via Doclets from Third Parties.
5. ↑ 5.0 5.1 RDoc currently only provides generators for CHM and XML documents in the RDoc version provided as part of the Ruby 1.9 Core.
6. ↑ RDoc generates documentation for RI, which is Ruby's version of the Unix man pages.
7. ↑ Generated from the LaTeX output only

## References

1. ↑ "PEP 256 -- Docstring Processing System Framework | Python.org". https://www.python.org/dev/peps/pep-0256/.
2. ↑ "Doxygen Manual: Output Formats". http://www.stack.nl/~dimitri/doxygen/manual/output.html.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Comparison of documentation generators. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Comparison_of_documentation_generators&oldid=687228"