1. Introduction

PasDoc is a documentation tool for the Object Pascal code (as implemented by FPC and Delphi). Documentation is generated from comments found in the source code and / or in dedicated "description files". Numerous output formats are supported, including HTML, LaTeX (for PDF, PS), XML and PHP.

This is a free and open source software.

We appreciate your donations (Michalis, maintainer of PasDoc, also makes Castle Game Engine), esp. if you use PasDoc in a commercial project. This helps us to continue developing and improving PasDoc.

2. Basic Usage

Put comments before the identifiers in your Pascal source code. Like this:

{ My amazing unit. }
unit MyUnit;

interface

type
  { My amazing class. }
  TMyClass = class
  private
    FMyProperty: String;
  public
    { My amazing method. }
    procedure MyMethod;
    { My amazing property. }
    property MyProperty: String read FMyProperty write FMyProperty;
  end;

implementation
// ...
end.

Process this source code with PasDoc, and get documentation in one of the output formats. From the command-line, you can do it like this:

mkdir -p output-dir/
pasdoc myunit.pas --format=html --auto-abstract --output=output-dir

You can also use the GUI interface, see PasDoc GUI.

3. Examples

4. Features

For more information on how to document your source code see:

Available output formats:

  • HTML - modern webpage documenting your project

  • HtmlHelp

  • LaTeX - you can use this to generate PDF or PostScript using LaTeX tools like pdflatex

  • Latex2rtf

  • SimpleXml - useful to process obtained information using your own tools, you only need to read the generated XML file

  • PHP - PHP map from Pascal identifier → HTML link, to implement searching/enumeration in PHP websites

Check out the CommandLine to get a better feeling for how PasDoc works.

See also the list of AdvancedFeatures of PasDoc.

5. All Downloads (Stable and Unstable)

Download:

You can watch our releases page or announcements category in our discussions to be notified about a new release.

6. Get involved

We use GitHub Team Discussions as our forum. Come and talk to us!

Use the GitHub issues to report bugs and feature requests. If you would like to contribute, it’s best to submit a pull request using GitHub.

7. Development

See the ChangeLog for recent changes to PasDoc.

PasDoc source code:

While developing PasDoc we also developed some OtherTools that you may find useful.

About these web pages:

  • We are using wiki to easily update these pages. You are welcome to contribute to the documentation!

  • All text within this wiki is licensed on terms of GNU General Public License (just like PasDoc sources).