fpdoc - The FPC Pascal unit documentation generator.
fpdoc --input=inputcommand [--output=output] [--format=fmt]
[--descr=descriptionfile] [--package=packagename] [options]
fpdoc scans a Free Pascal unit source file and generates
documentation for it. The documentation can be in various formats (currently
HTML and LaTeX) It can read various description files which contain the
description for the various symbols found in the unit file.
You can invoke fpdoc with as the only required argument the
'input' and 'package' arguments. It should at least contain the name of the
unit file for which documentation should be generated and the name of the
package to which the unit belongs.
fpdoc has several options, most of them optional, defaults
will be used in most cases.
- --content
- This option tells fpdoc to generate a content file. A content file
contains a list of all the possible anchors (labels) in the generated
documentation file, and can be used to create cross-links in documentation
for different units, using the --import option.
- --cputarget=value
- This option tells fpdoc for which CPU to generate documentation.
This simply defines the appropriate CPU macros.
- --descr=descfile
- This option specifies the name of a description file descfile that
contains the actual documentation for the unit. This option can be given
several times, for several description files.
- --descr-dir=dir
- This option specifies the name of a directory with XML description files,
named dir This option can be given several times, for several
description directories. This option is equivalent to specifying all files
in the directory with the --descr option.
- --dont-trim
- This option tells fpdoc not to trim whitespace in the XML files. By
default, whitespace is trimmed from the input, which can have undesirable
side-effects in for instance PRE tags.
- --dry-run
- This option tells fpdoc not to generate any output, but just parse
all input. This can be used with the verbose option to check what errors
remain in the documentation, or what is still missing.
- --format=fmt
- Specifies the format fmt in which the documentation will be
generated. Currenly, the following formats are known:
- chm
- CHM with 8.3 conforming filenames, for windows mostly.
- dxml
- Delphi compatible XML output.
- htm
- HTML with 8.3 conforming filenames.
- html
- HTML with long filenames.
- ipf
- IPF output (OS/2 format, can be used with docview from fpGUI).
- xhtml
- XHTML with long filesnames.
- latex
- LaTex, which uses the fpc.sty style used by the Free Pascal
documentation.
- man
- man page output (unix manual pages, one page per identifier).
- rtf
- RTF output.
- txt
- Plain text output.
- xml-struct
- Structured XML.
- --help
- Show a command-line option summary.
- --hide-protected
- By default, the documentation will include descriptions and listings of
protected fields and methods in classes or objects. This option changes
this behaviour; if it is specified, no documentation will be generated for
these methods. Note that public methods or properties that refer to these
protected method will then have a dangling (i.e. unavailable) link.
- --html-search=link
- Adds an entry for an HTML search page at location link in the
headers of the generated HTML pages. There is no search page provided,
this should be made and provided by the user.
- --import=impfile
- imports a content file impfile from another documentation set. This
can be used to resolve references to elements within this other
documentation file;
- --input=cmd
- This option tells fpdoc what input file should be used. The
argument cmd can be just a filename, but can also be a complete
compiler command-line with options that concern the scanning of the pascal
source: defines, include files, syntax options, as they would be specified
to the free pascal compiler when compiling the file. If a complete command
is used, then it should be enclosed in single or double quotes, so the
shell will not break them in parts. It is possible to specify multiple
input commands; they will be treated one by one, and documentation will be
generated for each of them.
- --input-dir=dir
- This option tells fpdoc to add all .pas and .pp files in the
directory named cmd as input files to the documenter. This is
equivalend to specifying all files in the directory with the
--input command.
- --lang=language
- Sets the language for the output file. This will mainly set the strings
used for the headers in various parts of the documentation files (by
default they're in english). Currently, valid options are
- de
- German.
- fr
- French.
- nl
- Dutch.
- --latex-extension=ext
- Sets the extension to use for the LaTeX file to ext the default is
.tex (with . (dot) included).
- --latex-highlight
- Switches on an internal latex syntax highlighter. This is not yet
implemented. By default, syntax highlighting is provided by the syntax
package that comes with fpc.
- --mo-dir=dir
- This option tells fpdoc where to look for the translation files
that can be used to internationalize fpdoc's output.
- --ostarget=value
- This option tells fpdoc for which operating system to generate
documentation. This simply defines the appropriate operating system
macros.
- --output=name
- This option tells fpdoc where the output file should be generated.
How this option is interpreted depends on the format that is used. For
latex, name is interpreted as the filename for the tex file. For
all other formats, name is interpreted as the directory where all
documentation files will be written. The directory will be created if it
does not yet exist. Standard this equals the package name.
- --package=packagename
- Specifies the package name. All units will be documented as part of
packagename , which is also the default output filename or
directory. Only documentation nodes inside a package node with this name
will be considered when documenting.
- --parse-impl
- (Experimental) try to parse the implementation of a unit too, this can be
used for syntax checking.
- --project=file
- This option tells fpdoc to read all options from a project file.
This is an XML file, please see the documentation for more information
about the format for this file.
- --show-private
- By default, no documentation is generated for private methods or fields.
This option causes fpdoc to generate documentation for these
methods as well.
- --verbose
- By default, fpdoc is sparse with output. This tells fpdoc to
generate some more information about what it is doing.
- --warn-no-node
- If this option is specified, fpdoc will emit a warning if it does
not find a description node for an identifier it is documenting.
- --write-project=file
- If this option is specified, fpdoc will write a fpdoc project file
(to the specified file name) that corresponds to the command-line options
given.