GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • PasDoc’s own documentation (in the HTML format)
  • PasDoc’s own documentation in all the formats
  • Projects using PasDoc
  • Where To Place Comments
  • Writing Documentation
  • Supported Tags
  • HTML
  • HtmlHelp
  • LaTeX
  • Latex2rtf
  • SimpleXml
  • PHP
  • can be downloaded from here
  • is available here ("snapshot" releases)

This view

  • Original page
  • New address

GeezerVison is showing pasdoc.github.io — PasDoc

PasDoc

Documentation tool for Pascal source code

Windows (x86_64) Linux (x86_64) Linux (Arm, 32-bit) (Raspberry Pi) Linux (Aarch64, 64-bit) (Raspberry Pi, PineTab2) macOS (x86_64) macOS (Aarch64)
Table of Contents
  • 1. Introduction
  • 2. Basic Usage
  • 3. Support Us
  • 4. Examples
  • 5. Features
  • 6. All Downloads (Stable and Unstable)
  • 7. Get involved
  • 8. Development

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 or in special "description files". Numerous output formats are supported, including HTML, LaTeX (for PDF, PS), XML and PHP.

This is a free and open source software.

2. Basic Usage

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

{ My amazing unit. This does @bold(something amazing). }
unit MyUnit;

interface

type
  { My amazing class. }
  TMyClass = class
  private
    FMyProperty: String;
  public
    { My amazing method. Sets @link(MyProperty) to 'foo'. }
    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 --output=output-dir

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

3. Support Us

If you find PasDoc useful, we appreciate your donations. This helps us to continue improving PasDoc. Michalis, maintainer of PasDoc, also makes Castle Game Engine, and you can use the same channels (like Patreon) to donate to both projects.

4. Examples

  • Take a look at PasDoc’s own documentation (in the HTML format).

  • See PasDoc’s own documentation in all the formats.

  • See Projects using PasDoc for links to larger real-world examples of how documentation generated by PasDoc looks like.

5. Features

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

  • Where To Place Comments

  • Writing Documentation

  • Supported Tags

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.

6. All Downloads (Stable and Unstable)

Download:

  • Latest stable PasDoc release can be downloaded from here.

  • Latest unstable (automatic build after every commit, published once automatic tests pass) release is available here ("snapshot" releases).

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

7. 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.

8. Development

See the ChangeLog for recent changes to PasDoc.

PasDoc source code:

  • PasDoc is licensed under the GNU General Public License.

  • You can get the latest PasDoc sources from our project on GitHub. In short, just call

    git clone https://github.com/pasdoc/pasdoc.git
  • See compiling PasDoc for instructions how to compile PasDoc.

  • See release making to know how we test and package PasDoc for final releases.

While developing PasDoc we also developed some other tools, like Pascal preprocessor 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).

PasDoc

  • Download

Features:

  • Where To Place Comments

  • Writing Documentation

  • Advanced Features

  • Demo

  • Projects Using PasDoc

  • PasDoc vs FpDoc

  • PasDoc GUI

  • Other Tools

Supported Tags:

  • @abstract

  • @author

  • @bold, @italic

  • @br

  • @code

  • @created, @lastmod

  • @cvs

  • @deprecated

  • @exclude

  • @html

  • @image

  • @includeCode

  • @include

  • @name, @className, @inheritedClass, @inherited

  • @shortTitle, @title, @section, @anchor

  • @latex

  • @link

  • @orderedList, @unorderedList, @definitionList, @item, @itemLabel, @itemSpacing, @itemSetNumber

  • @longCode

  • @member, @value

  • @noAutoLink, @noAutoLinkHere

  • @note, @warning

  • @param, @returns, @raises

  • @preformatted

  • @seeAlso

  • @tableOfContents

  • @table, @row, @rowHead, @cell

  • @nil, @true, @false

  • @(, @)

  • @url

Command Line:

  • Examples

  • --format:
    • --format=html
    • --format=htmlhelp
    • --format=latex
    • --format=latex2rtf
    • --format=simplexml
    • --format=php
  • --auto-abstract

  • --auto-back-comments

  • --auto-link, --auto-link-exclude

  • --cache

  • --marker, --staronly, --marker-optional

  • --define, --conditionals

  • --css, --css-based-on-bootstrap

  • --title

  • --exclude-generator

  • --external-class-hierarchy

  • --graphviz-uses, --graphviz-classes, --link-gv-uses, --link-gv-classes

  • --header, --footer

  • --html-head, --html-body-begin, --html-body-end

  • --ignore-leading

  • --ignore-marker

  • --inherited-members

  • --introduction, --conclusion, -A, --additional

  • --implicit-visibility

  • --lowercase-keywords

  • --visible-members

  • --include-creation-time

  • --include

  • --link-look

  • --markdown

  • --name

  • --no-auto-abstract

  • --no-macro

  • --language

  • --output

  • --description

  • --show-source-position, --source-url-pattern, --source-root

  • --sort

  • --spell-check, --spell-check-ignore-words

  • --use-tipue-search

  • --write-uses-list

  • @<config-file.txt>

  • --implementation-comments

Development:

  • Compiling

  • Development Snapshots

  • Release Making

Developers pages:

  • Do Di

  • Garfield Fr

  • Johannes Berg

  • Michalis Kamburelis

  • Thomas Mueller

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.