# doxx

> Generic, template based, HTML output for Dox documentation generator

Latest version **2.1.1** (published 2015-09-16) · 0 weekly downloads

## Install

```sh
npm install doxx
pnpm add doxx
yarn add doxx
bun add doxx
```

Provides the command `doxx`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.1 |
| Published | 2015-09-16 |
| First published | 2013-01-12 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.10.0 |
| Dependencies | 17 |
| Known vulnerabilities | 0 (+9 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 293 |
| Author | Francois-Guillaume Ribreau |
| Maintainers | fgribreau |
| Keywords | dox, jsdox, documentor, documentation, docs, dox |

## Links

- npm: https://www.npmjs.com/package/doxx
- Repository: https://github.com/FGRibreau/doxx
- Issues: https://github.com/FGRibreau/doxx/issues
- npm.io page: https://npm.io/package/doxx

## Dependencies (17)

- [del](https://npm.io/package/del.md) ^2.0.2
- [dox](https://npm.io/package/dox.md) ^0.8.0
- [jade](https://npm.io/package/jade.md) ~1.11.x
- [when](https://npm.io/package/when.md) ^3.7.3
- [bower](https://npm.io/package/bower.md) ^1.5.2
- [osenv](https://npm.io/package/osenv.md) ^0.1.3
- [lodash](https://npm.io/package/lodash.md) ^3.10.1
- [mkdirp](https://npm.io/package/mkdirp.md) ~0.5.0
- [walkdir](https://npm.io/package/walkdir.md) ~0.0.7
- [fs-extra](https://npm.io/package/fs-extra.md) ^0.24.0
- [commander](https://npm.io/package/commander.md) ~2.8.1
- [log-update](https://npm.io/package/log-update.md) ^1.0.0
- [markdown-it](https://npm.io/package/markdown-it.md) ^4.4.0
- [jshint-stylish](https://npm.io/package/jshint-stylish.md) ^2.0.1
- [elegant-spinner](https://npm.io/package/elegant-spinner.md) ^1.0.0
- [update-notifier](https://npm.io/package/update-notifier.md) ^0.5.0
- [source-map-support](https://npm.io/package/source-map-support.md) ^0.3.2

## Alternatives

- [@cantoo/pdf-lib](https://npm.io/package/@cantoo/pdf-lib.md) — 297.9K weekly downloads
- [datatables.net-buttons](https://npm.io/package/datatables.net-buttons.md) — 200.1K weekly downloads
- [@ckeditor/ckeditor5-export-pdf](https://npm.io/package/@ckeditor/ckeditor5-export-pdf.md) — 167.0K weekly downloads
- [scanbot-web-sdk](https://npm.io/package/scanbot-web-sdk.md) — 15.0K weekly downloads
- [@syncfusion/ej2-angular-pdfviewer](https://npm.io/package/@syncfusion/ej2-angular-pdfviewer.md) — 8.8K weekly downloads

## Recent versions

- 2.1.1 (latest) — 2015-09-16
- 2.1.0 — 2015-09-14
- 2.0.0 — 2015-09-03
- 1.5.0 — 2015-07-21
- 1.4.0 — 2015-05-30
- 1.3.0 — 2015-05-26
- 1.2.8 — 2015-05-26
- 1.2.7 — 2015-05-26
- 1.2.6 — 2015-03-18
- 1.2.5 — 2015-01-31
- 1.2.4 — 2015-01-22
- 1.2.1 — 2014-11-21
- 1.2.0 — 2014-11-19
- 1.1.1 — 2014-11-05
- 1.1.0 — 2014-11-05
- … 13 more at https://npm.io/package/doxx/versions

## README

# Doxx [![Deps](https://david-dm.org/FGRibreau/doxx.png)](https://david-dm.org/FGRibreau/doxx) [![Version](http://badge.fury.io/js/doxx.png)](https://david-dm.org/FGRibreau/doxx) [![Version](https://travis-ci.org/FGRibreau/doxx.svg)](https://travis-ci.org/FGRibreau/doxx)

Doxx is a total refactoring of [dox-foundation](https://github.com/punkave/dox-foundation/)  written in ES6, tranformed to ES5 with [Babel](https://babeljs.io/), and is based on [dox](https://github.com/visionmedia/dox). It can automatically generate beautiful documentations and can further spice up your documentations using themes.

By default, Doxx uses [doxx-theme-default](https://www.github.com/iwatakeshi/doxx-theme-default) which uses 
[Twitter Bootstrap](https://twitter.github.com/bootstrap/) for the frontend framework and [Prism.js](http://prismjs.com/)
for syntax highlighting.

## Docs

The beautifully documentation can be found at [GitHub](http://fgribreau.github.io/doxx/docs/).


## Installation

```bash
# Install the module globally
$ npm i -g doxx
```

## Usage

JavaScript JavaDoc style

```javascript
/**
 * 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

```coffeescript
###*
 * 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) ->
  ...

```

***Notes***

* Doxx supports the following variations of `@return` and `@jsFiddle`:
  * `@return`, `@returns`
  * `@jsfiddle`, `@jsFiddle`, `@JSFiddle`


## CLI
```bash
$ doxx --help

  Usage: doxx [options]

  Commands:
    cache                         Manages the Doxx cache. The available commands are clean and remove.

  Options:

    -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.
  Examples:

    # 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
```

## Themes

### Usage

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:

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

***Notes***

  * 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.

### Creating Themes

If you would like to create your own themes, see
[doxx-theme-starter-kit](https://github.com/iwatakeshi/doxx-theme-starter-kit).


## Related

* [grunt-doxx](https://github.com/evertton/grunt-doxx) - Doxx grunt plugin automatically generates the documentation for your project.
* [gulp-doxx](https://github.com/filipovskii/gulp-doxx) - Doxx documentation generator for gulp.

## Roadmap

### 3.0.0

* Switch the backend from bower to npm for themes. [#79](https://github.com/FGRibreau/doxx/issues/79)
* Re-introduce Doxx with a new name. [#83](https://github.com/FGRibreau/doxx/issues/83)

## Contributing

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](https://github.com/gulpjs/gulp) and [mocha](https://github.com/mochajs/mocha).

## Changelog

The changes can be viewed [here](/CHANGELOG.md).

## Donate

* [Donate Bitcoins](https://coinbase.com/checkouts/fc3041b9d8116e0b98e7d243c4727a30)
* [Gratipay (gittip)](https://gratipay.com/FGRibreau/)

## License

MIT License

Copyright (c) 2013 Francois-Guillaume Ribreau

---
_Source: https://npm.io/package/doxx · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
