An open API service indexing awesome lists of open source software.

https://github.com/loginov-rocks/gulpdoc

Documentation generator for Gulp tasks
https://github.com/loginov-rocks/gulpdoc

doc documentation generator gulp tasks

Last synced: 2 months ago
JSON representation

Documentation generator for Gulp tasks

Awesome Lists containing this project

README

          

# gulpdoc

[![npm](https://img.shields.io/npm/v/gulpdoc)](https://www.npmjs.com/package/gulpdoc)
[![CI](https://github.com/loginov-rocks/gulpdoc/actions/workflows/ci.yml/badge.svg)](https://github.com/loginov-rocks/gulpdoc/actions/workflows/ci.yml)
[![CD](https://github.com/loginov-rocks/gulpdoc/actions/workflows/cd.yml/badge.svg)](https://github.com/loginov-rocks/gulpdoc/actions/workflows/cd.yml)

Documentation generator for Gulp tasks.

## Quick Start

### Install

Locally to use in code:

```sh
npm install gulpdoc
```

Or globally to use in shell:

```sh
npm install -g gulpdoc
```

### Use

For example your javascript files containing Gulp tasks are located in the `./gulp/` directory relative to the current.

Annotate Gulp tasks with `@gulptask` (case insensitive) and place descriptions like this:

```js
/**
* Gulp task described in block comment before the annotation.
* @gulptask example:block
*/
gulp.task('example:block', function() {
// Insanely useful actions.
});
```

```js
// @gulptask example:line Gulp task described in line comment on the annotation line.
gulp.task('example:line', function() {
// Insanely useful actions.
});
```

#### Сode

```js
const gulpdoc = require('gulpdoc');
const tasks = gulpdoc.getTasks('./gulp/*.js');

console.log(tasks);
// Output:
// [ Task { name: 'example:block', description: 'Gulp task described in block comment before the annotation.' },
// Task { name: 'example:line', description: 'Gulp task described in line comment on the annotation line.' } ]
```

#### Shell

```sh
gulpdoc ./gulp/*.js
```

or

```sh
gulpdoc -s ./gulp/*.js -d ./gulpdoc.md -a gulptask
```

Where `-s` is source, `-d` is destination and `-a` is annotation.

It'll make following `gulpdoc.md`:

> * `gulp example:block` - Gulp task described in block comment before the annotation.
> * `gulp example:line` - Gulp task described in line comment on the annotation line.

## API

### `Gulpdoc`

Gulpdoc class.

**Kind**: global class

* [Gulpdoc](#gulpdoc-1)
* [getTasks(pattern, [annotation], [options]) ⇒ Array.<Task>](#gettaskspattern-annotation-options--arraytask)

---

#### `getTasks(pattern, [annotation], [options])` ⇒ `Array.`

Get tasks.

**Kind**: static method of `Gulpdoc`

**Returns**: `Array.`, where `Task` object contains `name` and `description` properties

| Parameter | Type | Default | Description |
| ------------ | -------- | ------------ | ------------ |
| pattern | `string` | | Glob pattern |
| [annotation] | `string` | `'gulptask'` | Annotation |
| [options] | `Object` | `{}` | Glob options |