Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
2.6 KiB

4 years ago
# {%= name %} {%= badge("fury") %} {%= badge("travis") %} {%= badge("coverage") %}
> {%= description %}
## Overview
multilang-extract-comments is a package for extracting comments from source-code. It is compatible with the
`extract-comments`-package by Jon Schlinkert:
It provides an extended API, which allows you to extract comments not only from JavaScript
files, but also from Python, C, Handlebars etc.
The module was originally forked from [extract-comments](https://github.com/jonschlinkert/extract-comments),
with the purpose to allow [verb](https://github.com/verbose/verb) to extract jsdoc-like comments from file
other than JavaScript-files. In the end, the module was a complete rewrite of the original module. Now the only
common file is `spec/javascript-spec.js` which is more or less equal to Jon Schlinkert's
`extract-comments/test.js`.
The primary targets are Handlebars-files, for documenting
[bootprint template-modules](https://github.com/nknapp/bootprint).
## Example (JavaScript)
For the following string:
{%= embed("./examples/javascript.js") %}
and the following code
```js
var comments = require('multilang-extract-comments')(string);
```
The variable `comments` now contains:
```json
{%= stringifyPretty(extract(read("./examples/javascript.js"))) %}
```
Also have a look at the usage example of `extract-comments`
## Example (Handlebars)
For the following string:
{%= embed("./examples/handlebars.hbs") %}
and the following code
```hbs
var comments = require('multilang-extract-comments')(string, { filename: 'handlebars.hbs'});
```
The variable `comments` now contains:
```json
{%= stringifyPretty(extractHbs(read("./examples/handlebars.hbs"))) %}
```
## Example (Custom)
For the following string:
{%= embed("./examples/powershell.ps1") %}
and the following code
```js
var options = {
pattern: {
name: 'Powershell',
nameMatchers: ['.ps1'],
singleLineComment: [{ start: '#' }],
multiLineComment: [{ start: '<#', middle: '', end: '#>'}]
}
}
var comments = require('multilang-extract-comments')(string,options);
```
The variable `comments` now contains:
```json
{%= stringifyPretty(extractCustom(read("./examples/powershell.ps1"))) %}
```
Also have a look at the usage example of `extract-comments`
### API
{%= apidocs("index.js") %}
TODO
## Running tests
{%= include("tests") %}
## Contributing
{%= include("contributing") %}
see [CONTRIBUTING.md](./CONTRIBUTING.md)
## Changelog
see [CHANGELOG.md](./CHANGELOG.md)
## Author
{%= include("author", {github: 'nknapp', twitter: 'knappi79'}) %}
## Related
{%= related(['extract-comments','comment-patterns']) %}
## License
{%= copyright({start: 2015}) %}
{%= license() %}