node package manager


Generic, template based, HTML output for Dox documentation generator


Doxx is a total refactoring of dox-foundation written in ES6, tranformed to ES5 with Babel, and is based on dox. It can automatically generate beautiful documentations and can further spice up your documentations using themes.

By default, Doxx uses doxx-theme-default which uses Twitter Bootstrap for the frontend framework and Prism.js for syntax highlighting.

The beautifully documentation can be found at GitHub.

# Install the module globally
$ npm i -g doxx

JavaScript JavaDoc style

 * Create an array of all the right files in the source dir
 * @param      {String}   source path
 * @param      {Object}   options
 * @param      {Function} callback 
 * @jsFiddle   A jsFiddle embed URL
 * @return     {Array} an array of string path
function collectFiles(source, options, callback) {

CoffeeScript JavaDoc style

 * Create an array of all the right files in the source dir
 * @param      {String}   source path
 * @param      {Object}   options
 * @param      {Function} callback
 * @jsFiddle   A jsFiddle embed URL
 * @return     {Array} an array of string path
collectFiles = (source, options, callback) ->


  • Doxx supports the following variations of @return and @jsFiddle:
    • @return, @returns
    • @jsfiddle, @jsFiddle, @JSFiddle
$ doxx --help
  Usage: doxx [options]
    cache                         Manages the Doxx cache. The available commands are clean and remove.
    -h, --help                    Outputs usage information.
    -V, --version                 Outputs the version number.
    -r, --raw                     Outputs "raw" comments, leaving the markdown intact.
    -d, --debug                   Outputs parsed comments for debugging.
    -t, --title <string>          The title for the page produced.
    -s, --source <source>         The folder which should get parsed.
    -i, --ignore <directories>    Comma seperated list of directories to ignore. Default: test, public, static, view, views, templates.
    -T, --target <target>         The folder which will contain the results. Default: <CWD>/docs
    -e, --extension <extension>   Target files extension. Default: html
    -j, --template <template>     The Jade template file to use.
    -b, --theme <theme>           The name of the theme. e.g. doxx-theme-cayman or cayman.
    # parse a whole folder
    $ doxx --source lib --target docs
    # parse a whole folder and use a specific template
    $ doxx --template ./view/myowntpl.jade --source lib --target docs

With the release of 2.1.0, you are able to use different themes to spice up your documentations. To install a theme, simply use the --theme option followed by the name of the theme:

$ doxx --source lib --target docs --theme cayman
# or
$ doxx --source lib --target docs --theme doxx-theme-cayman


  • The prefix doxx-theme- is not necessary except when publishing your own themes.
  • While it is still possible to use templates, I would advise you to use themes instead.

If you would like to create your own themes, see doxx-theme-starter-kit.

  • grunt-doxx - Doxx grunt plugin automatically generates the documentation for your project.
  • gulp-doxx - Doxx documentation generator for gulp.
  • Switch the backend from bower to npm for themes. #79
  • Re-introduce Doxx with a new name. #83

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using gulp and mocha.

The changes can be viewed here.

MIT License

Copyright (c) 2013 Francois-Guillaume Ribreau