hgen 0.5.1

Documentation generator for D.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Documentation generator for D with limited Markdown support and DDoc, based on harbored-mod.

Getting started


You can use `make` to build the application or `dub` directly (the project's Makefile uses `dub` for assembly).

Setting up

At this point you should have a binary called `hgen` in the `build/` directory.

  • Modify your PATH to point to the `build/` directory or copy the binary into your project. Also, you can run make install (for Linux only).
  • From your project's directory, run `hgen`. This assumes your source code is in the `./source` subdirectory:
    hgen source

    This will write generate documentation to the `./doc` directory. See `./doc/index.html`.


  • Supports DDoc and (most, see differences) Markdown syntax.
  • Sensible defaults (get decent documentation without tweaking any settings).
  • Automatic cross-referencing in code blocks and inline code.
  • Very fast.
  • Generates one file per module/class/struct/enum/etc. by default, as opposed to one file per module (old Phobos documentation) or one file per symbol (ddox).
  • Generated docs are usable without JavaScript (e.g. NoScript), JS may used for optional functionality.
  • Only generates HTML, and is unlikely to support any other formats.
  • All command-line options can be set in a config file `hgen.cfg`.

Differences from vanilla Markdown

Sequence --- will not generate a horizontal line, as it is used for DDoc blocks. Use - - - instead. This is still standard Markdown.

Emphasis can be denoted by *, but not by _ (this would break snake_case names).

Also this does not work (again because DDoc uses --- to mark code blocks):


Instead, use either (standard Markdown):

## Subheading

Or (non-standard):



This project is a fork of harbored-mod (maintained by the dlang-community). Harbored-mod was continued in a new repository by Basile.B; some ideas from this new repository was added on to hgen.

Harbored-mod was based on harbored by Brian Schott, with modifications by Ferdinand Majerech aka Kiith-Sa.

The current developer and maintainer of hgen is Eugene 'Vindex' Stulin tech.vindex@gmail.com.

The program is distributed under the Boost Software License.

  • Brian Schott
  • Ferdinand Majerech
  • Eugene Stulin
0.5.1 2021-Jun-08
~master 2021-Jun-08
~dev 2021-Jun-08
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 2 downloads this month

  • 2 downloads total

Short URL: