remark plugin to add a usage example to a readme.
Install
npm:
npm install remark-usage
Usage
This section is rendered by this module from example.js.
Dependencies:
var fs = require('fs')
var remark = require('remark')
var usage = require('remark-usage')
Read and parse readme.md
:
var readme = fs.readFileSync('readme.md', 'utf-8')
var ast = remark()
.use(usage)
.parse(readme)
Log something with a language flag:
[**remark**][remark] plugin to add a [usage][] example to a readme.
Or without language:
## Install
Log something which is never captured:
function neverCalled() {
console.log('javascript', 'alert("test")')
}
Log something which isn’t captured because it’s not a string.
console.log(this)
API
Add example.js
to the Usage
section in a readme.
Removes the current content between the heading containing the text “usage”, and
the next heading of the same (or higher) depth, and replaces it with the
example.
The example is run as JavaScript.
Line comments are parsed as Markdown.
Calls to console.log()
are exposed as code blocks, containing the logged
values (optionally with a language flag).
It’s easiest to check out and compare example.js
with the above
Usage section.
- Operate this from an npm package, or provide a
cwd
- Make sure no side effects occur when running
example.js
- Don’t do weird things.
This is mostly regexes
options
options.cwd
Path to a directory containing a node module (string?
).
Used to infer name
, main
, and example
.
options.name
Name of the module (string?
).
Inferred from package.json
s name
property.
Used to rewrite require('.')
to require('some-name')
.
options.main
Path to the main script (string?
).
Resolved from package.json
s main
property (or index.js
).
Used to rewrite require('./index.js')
to require('some-name')
.
options.example
Path to the example script (string?
).
remark-usage
checks for docs/example.js
, doc/example.js
,
examples/index.js
, example/index.js
, and example.js
.
options.heading
Heading to look for (string?
, default: 'usage'
).
Wrapped in new RegExp('^(' + value + ')$', 'i');
.
Contribute
See contributing.md
in remarkjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a Code of Conduct.
By interacting with this repository, organisation, or community you agree to
abide by its terms.
License
MIT © Titus Wormer