Parse code comments from JavaScript or any language that uses the same format.
Install with npm
npm i parse-mrw-comments --save
var comments = require('parse-mrw-comments');
comments(str);
Parses a comment like this:
/**
* Read in source files from file paths or glob patterns.
*
* ```js
* verb.src('src/*.hbs', {layout: 'default'});
* ```
*
* **Example usage**
*
* ```js
* verb.task('site', function() {
* verb.src('src/*.hbs', {layout: 'default'})
* verb.dest('dist');
* });
* ```
*
* @param {String|Array} `glob` Glob patterns or file paths to source files.
* @param {Object} `options` Options or locals to merge into the context and/or pass to `src` plugins
* @api public
*/
Into an array of comment objects, like this:
[ { subheads: [ 'Example usage' ],
description: '\n\n```js\nverb.src(\'src/*.hbs\', {layout: \'default\'});\n```\n\n**Example usage**\n\n```js\nverb.task(\'site\', function() {\n verb.src(\'src/*.hbs\', {layout: \'default\'})\n verb.dest(\'dist\');\n});\n```',
param:
[ '{String|Array} `glob` Glob patterns or file paths to source files.',
'{Object} `options` Options or locals to merge into the context and/or pass to `src` plugins' ],
api: 'public',
params:
[ { type: 'String|Array',
name: 'glob',
description: 'Glob patterns or file paths to source files.' },
{ type: 'Object',
name: 'options',
description: 'Options or locals to merge into the context and/or pass to `src` plugins' } ],
comment:
{ begin: 2,
end: 21,
code: 'Verb.prototype.src = function(glob, opts) {',
content: 'Read in source files from file paths or glob patterns.\n\n```js\nverb.src(\'src/*.hbs\', {layout: \'default\'});\n```\n\n**Example usage**\n\n```js\nverb.task(\'site\', function() {\n verb.src(\'src/*.hbs\', {layout: \'default\'})\n verb.dest(\'dist\');\n});\n```\n\n@param {String|Array} `glob` Glob patterns or file paths to source files.\n@param {Object} `options` Options or locals to merge into the context and/or pass to `src` plugins\n@api public\n',
codeStart: 23 },
context:
{ begin: 23,
type: 'prototype method',
class: 'Verb',
name: 'src',
params: [ 'glob', 'opts' ],
string: 'Verb.prototype.src()',
original: 'Verb.prototype.src = function(glob, opts) {' },
heading: { level: 2, text: 'src', prefix: '.' },
lead: 'Read in source files from file paths or glob patterns.',
name: 'src',
examples:
[ { lang: 'js',
code: 'verb.src(\'src/*.hbs\', {layout: \'default\'});',
block: '```js\nverb.src(\'src/*.hbs\', {layout: \'default\'});\n```' },
{ lang: 'js',
code: 'verb.task(\'site\', function() {\n verb.src(\'src/*.hbs\', {layout: \'default\'})\n verb.dest(\'dist\');\n});',
block: '```js\nverb.task(\'site\', function() {\n verb.src(\'src/*.hbs\', {layout: \'default\'})\n verb.dest(\'dist\');\n});\n```' } ] } ]
- js-comments: Parse JavaScript code comments and generate API documentation.
- parse-code-context: Parse code context in a single line of javascript, for functions, variable declarations, methods, prototype properties, prototype methods etc.
- code-context: Parse a string of javascript to determine the context for functions, variables and comments based on the code that follows.
- gfm-code-blocks: Extract gfm (GitHub Flavored Markdown) fenced code blocks from a string.
- extract-comments: Extract code comments from string or from a glob of files.
- esprima-extract-comments: Extract code comments from string or from a glob of files using esprima.
Install dev dependencies:
npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Jon Schlinkert
Copyright (c) 2015 Jon Schlinkert
Released under the MIT license
This file was generated by verb-cli on April 17, 2015.