/parse-mrw-comments

Parse code comments from JavaScript or any language that uses the same format.

Primary LanguageJavaScriptMIT LicenseMIT

parse-comments-angular NPM version Build Status

Parse code comments from JavaScript or any language that uses the same format.

Install with npm

npm i parse-mrw-comments --save

Usage

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```' } ] } ]

Related projects

  • 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.

Running tests

Install dev dependencies:

npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Jon Schlinkert

License

Copyright (c) 2015 Jon Schlinkert
Released under the MIT license


This file was generated by verb-cli on April 17, 2015.