Home

Awesome

gulp-markdox

NPM version Build Status Dependency Status devDependency Status License

Markdox is a structured documentation generator based on Dox, Markdown and EJS with support for JavaScript, CoffeeScript and Iced CoffeeScript. This plugin is a gulp wrapper for it.

Usage

First, install gulp-markdox as a development dependency:

npm install --save-dev gulp-markdox

Then, add it to your gulpfile.js:

var markdox = require("gulp-markdox");

gulp.task("doc", function(){
  gulp.src("./src/*.js")
    .pipe(markdox())
    .pipe(gulp.dest("./doc"));
});

It can take on .coffee and .iced files, too.

If you want to concatenate all your generated documentation files, use concat option. All parsed docfiles will be passed to template at once:

var markdox = require("gulp-markdox");

gulp.task("doc", function(){
  gulp.src("./src/*.js")
    .pipe(markdox({ concat: "doc.md" })
    .pipe(gulp.dest("./doc"));
});

Following example does the same in more fine-grained manner:

var markdox = require("gulp-markdox");

gulp.task("doc", function(){
  gulp.src("./src/*.js")
    .pipe(markdox.parse())
    .pipe(markdox.format())
    .pipe(markdox.render({ concat: "doc.md" }))
    .pipe(gulp.dest("./doc"));
});

API

Please refer to markdox's documentation for further documentation of these options.x'.

markdox(options)

Generates markdox documentation from source code in the input.

options.compiler

Type: Function

Custom compiler (user in parse phase).

options.encoding

Type: String Default: utf-8

Encoding of templates and files to parse (used in parse phase).

options.formatter

Type: Function

Custom formatter (used in format phase).

options.concat

Type: String

File name for concatenated docfile.

options.template

Type: String

Path or the custom template (used in render phase).

markdox.parse(options)

Input: commented source code in file contents.

Output: raw document object generated from comments assigned to javadoc property.

markdox.format(options)

Input: raw document object generated from comments assigned to javadoc property.

Output: formatted document object assigned to formattedDoc property.

markdox.render(options)

Input: formatted document object assigned to formattedDoc property.

Output: rendered documentation in file contents.

License

Copyright © 2016 Maciej Chałapuk. Released under MIT License.