---
name: "naturaldocs"
section: "1"
platform: "linux"
package: "naturaldocs"
version: "1.51-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/naturaldocs"
---

# naturaldocs(1)

an extensible, multi-language documentation generator

## NAME

NaturalDocs - an extensible, multi-language documentation generator

## SYNOPSIS

**naturaldocs** -i \<input (source) directory\> \[-i \<input (source) directory\> ...\] -o \<output format\> \<output directory\> \[-o \<output format\> \<output directory\> ...\] -p \<project directory\> \[options\]

## DESCRIPTION

This manual page documents briefly the .B naturaldocs command. Note that **naturaldocs** is a wrapper script that on Debian invokes the real **NaturalDocs** perl program. So, the real, original name of the program is NaturalDocs but on Debian systems you invoke it as naturaldocs.

**Natural Docs** is is an open-source, extensible, multi-language documentation generator. You document your code in a natural syntax that reads like plain English. Natural Docs then scans your code and builds high-quality HTML documentation from it.

## OPTIONS

A summary of options, extracted from the help printed by the **-h** switch is included below.  For a complete description of how NaturalDocs works, see the text files in the /usr/share/doc/naturaldocs directory.

*Required parameters*:

- **-i, --input, --source DIR**

  Specifies an input (source) directory. Required.\
   Can be specified multiple times.

- **-o, --output FMT DIR**

  Specifies an output format and directory. Required.\
   Can be specified multiple times, but only once per directory. Possible output formats are HTML and FramedHTML.

- **-p, --project DIR**

  Specifies the project directory. Required.\
   There needs to be a unique project directory for every source directory.

*Optional parameters*:

- **-s, --style STYLE \[STYLE ...\]**

  Specifies the CSS style when building HTML output. If multiple styles are specified, they will all be included in the order given.

- **-img, --image DIR**

  Specifies an image directory. Can be specified multiple times. Start with **\*** to specify a relative directory, as in -img \*/images.

- **-do, --documented-only**

  Specifies only documented code aspects should be included in the output.

- **-t, --tab-length LEN**

  Specifies the number of spaces tabs should be expanded to. This only needs to be set if you use tabs in example code and text diagrams. Defaults to 4.

- **-xi, --exclude-input, --exclude-source**

  Excludes an input (source) directory from the documentation. Automatically done for the project and output directories. Can be specified multiple times.

- **-nag, --no-auto-group**

  Turns off auto-grouping completely.

- **-oft, --only-file-titles**

  Source files will only use the file name as the title.

- **-r, --rebuild**

  Rebuilds all output and data files from scratch. Does not affect the menu file.

- **-ro, --rebuild-output**

  Rebuilds all output files from scratch.

- **-q, --quiet**

  Suppresses all non-error output.

- **-?, -h, --help**

  Displays syntax reference.\

## AUTHOR

NaturalDocs was written by Greg Valure \<gregvalure@naturaldocs.org\>.

This manual page was written by Federico Di Gregorio \<fog@debian.org\>, for the Debian project (but may be used by others).
