Documentalist is an extensible documentation generator that is meant to support multiple source languages, documentation syntaxes, and output formats.
The project includes both a library and executable component:
The architecture is split into three major stages:
SourceParser
, built on
LibClang.CommentParser
,
which interprets TomDoc style comments.Each stage should depend only on the previous, such that the CommentParser
has
no knowledge of the source language, and the Writer
has no knowledge of the
documentation syntax or source language.
To make a new implementation for a stage, simply create an instance of the respective typeclass.
If the implementation is meant to be part of Documentalist proper, make sure to follow the existing module structure, and add the new module(s) to the package description.
brew install --with-clang llvm
cabal install --only-dependencies
cabal configure
cabal build
If you want to run the tests:
cabal install --only-dependencies --enable-tests
cabal configure --enable-tests
cabal build
cabal test