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
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() %}
|