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

https://github.com/jonschlinkert/js-comments

Parse JavaScript code comments and generate API documentation.
https://github.com/jonschlinkert/js-comments

Last synced: 6 months ago
JSON representation

Parse JavaScript code comments and generate API documentation.

Awesome Lists containing this project

README

          

# js-comments [![NPM version](https://badge.fury.io/js/js-comments.svg)](http://badge.fury.io/js/js-comments) [![Build Status](https://travis-ci.org/jonschlinkert/js-comments.svg)](https://travis-ci.org/jonschlinkert/js-comments)

> Parse JavaScript code comments and generate API documentation.

Install with [npm](https://www.npmjs.com/)

```sh
$ npm i js-comments --save
```

Install with [bower](http://bower.io/)

```sh
$ bower install js-comments --save-dev
```

## Table of Contents

* [Usage](#usage)
* [API](#api)
* [Other awesome projects](#other-awesome-projects)
* [Running tests](#running-tests)
* [Contributing](#contributing)
* [Author](#author)
* [License](#license)

_(Table of contents generated by [verb])_

## Usage

```js
var comments = require('js-comments');
```

**Heads up!**, only comments with `@api public` will be rendered!

## API

### [.parse](index.js#L44)

Parse comments from the given `str`.

**Params**

* `str` **{String}**: The string to parse.
* `options` **{Object}**: Options to pass to [parse-comments]
* `returns` **{Array}**: Array of comment objects.

**Example**

```js
var fs = require('fs');
var str = fs.readFileSync('foo.js', 'utf8');
comments.parse(str, options);
```

### [.render](index.js#L60)

Process the given Lo-dash `template` string, passing a `comments` object as context.

**Params**

* `comments` **{Array}**: Array of comment objects.
* `template` **{String}**: The lo-dash template to use.
* `returns` **{String}**

**Example**

```js
comments.render(obj, options);
```

### [.renderFile](index.js#L120)

Write markdown API documentation to the given `dest` from the code
comments in the given JavaScript `src` file.

**Params**

* `src` **{String}**: Source file path.
* `dest` **{String}**: Destination file path.
* `options` **{Object}**
* `returns` **{String}**: API documentation

## Other awesome projects

* [code-context](https://github.com/jonschlinkert/code-context): Parse a string of javascript to determine the context for functions, variables and comments based… [more](https://github.com/jonschlinkert/code-context)
* [esprima-extract-comments](https://github.com/jonschlinkert/esprima-extract-comments): Extract code comments from string or from a glob of files using esprima.
* [extract-comments](https://github.com/jonschlinkert/extract-comments): Extract code comments from string or from a glob of files.
* [parse-code-context](https://github.com/jonschlinkert/parse-code-context): Parse code context in a single line of javascript, for functions, variable declarations, methods, prototype… [more](https://github.com/jonschlinkert/parse-code-context)

## Running tests

Install dev dependencies:

```sh
$ npm i -d && npm test
```

## Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/js-comments/issues/new)

## Author

**Jon Schlinkert**

+ [github/jonschlinkert](https://github.com/jonschlinkert)
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)

## License

Copyright © 2014-2015 Jon Schlinkert
Originally modified from scrawl.js. Copyright (c) 2014 [Caolan McMahon](https://github.com/caolan), contributors.
Released under the MIT license.

***

_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on May 29, 2015._