Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
asyncapi-docgen
Advanced tools
AsyncAPI Documentation Generator
Use your AsyncAPI definition to generate beautiful
human-readable documentation for your API.
To use it from the CLI:
npm install -g asyncapi-docgen
To use it as a module in your project:
npm install --save asyncapi-docgen
Usage: adg [options] <asyncAPI>
Options:
-V, --version output the version number
-o, --output <outputDir> directory where to put the generated files (defaults to current directory)
-h, --help output usage information
The shortest possible syntax:
adg asyncapi.yaml
Specify where to put the generated documentation:
adg asyncapi.yaml -o ./docs
Place a file called asyncapi.yaml
in the same directory as the following script, and then run it. You can obtain the content of the file from editor.asyncapi.org, not included here for brevity.
Note that you'll need to install
asyncapi-docgen
for it to work. Either runnpm install asyncapi-docgen
in your terminal or add it to yourpackage.json
file as a dependency.
const fs = require('fs');
const path = require('path');
const docs = require('asyncapi-docgen');
// Read file content
const asyncapi = fs.readFileSync(path.resolve(__dirname, 'asyncapi.yaml'), 'utf8');
(async function() {
try {
const html = await docs.generateFullHTML(asyncapi);
console.log('Done!');
console.log(html);
} catch (e) {
console.error(`Something went wrong: ${e.message}`);
}
})();
const fs = require('fs');
const path = require('path');
const docs = require('asyncapi-docgen');
// Read file content
const asyncapi = fs.readFileSync(path.resolve(__dirname, 'asyncapi.yaml'), 'utf8');
docs
.generateFullHTML(asyncapi)
.catch((err) => {
console.error(`Something went wrong: ${err.message}`);
})
.then((html) => {
console.log('Done!');
console.log(html);
});
This package makes use of two different custom specification extensions:
Extension | Path | Description |
---|---|---|
x-logo | /info | URL of the logo rendered on the top left corner of the documentation. |
x-topic-separator | / | A string to use as the topic separator. |
Custom logo:
asyncapi: '1.0.0'
info:
title: My API
x-logo: https://your-company.com/logo.png
MQTT-style topic separator:
asyncapi: '1.0.0'
x-topic-separator: '/'
ATTENTION: This will not replace your topic separators. E.g., if your baseTopic is
my.company
and one of your topics isuser.signup
, the result of concatenating both, in the example above, would bemy.company/user.signup
and notmy/company/user/signup
. If you aim for the latter, your baseTopic should bemy/company
and your topic should beuser/signup
.
Fran Méndez (@fmvilas)
FAQs
An AsyncAPI documentation generator.
We found that asyncapi-docgen demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.