UNPKG

js-comments

Version:

Parse JavaScript code comments and generate API documentation.

126 lines (80 loc) 3.4 kB
# 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 <!-- toc --> * [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])_ <!-- tocstop --> ## 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._ <!-- deps:mocha -->