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.
- Host: GitHub
- URL: https://github.com/jonschlinkert/js-comments
- Owner: jonschlinkert
- License: mit
- Created: 2014-05-27T09:52:34.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2020-07-15T19:46:20.000Z (over 5 years ago)
- Last Synced: 2025-04-16T12:22:34.569Z (9 months ago)
- Language: JavaScript
- Homepage: https://github.com/jonschlinkert
- Size: 89.8 KB
- Stars: 30
- Watchers: 5
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# js-comments [](http://badge.fury.io/js/js-comments) [](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._