Socket
Socket
Sign inDemoInstall

documentation-polyglot

Package Overview
Dependencies
1
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    documentation-polyglot

C++ plugin for documentation.js


Version published
Maintainers
1
Created

Readme

Source

documentation-polyglot.js

The documentation system for modern JavaScript

When good engineers meet, they discuss algorithms, but when great engineers meet, they discuss documentation

License: ISC Node.js CI codecov

Plugin Notes

This plugin restores the C++ support for documentation.js.

It requires a plugin framework in documentation.js that has yet to be merged. You can install it from here:

npm install -D @mmomtchev/documentation

It is an improved version of the old --polyglot CLI option of documentation.js that got axed in 2017.

The project should already be usable.

It uses dumb parsing without an AST blindly extracting JSDoc-compliant comment blocks.

I intend to add extensible helpers allowing to extract some (C++ is notoriously difficult to parse and this aims to be an universal extractor anyways) information from the C++ code.

Installation

The module is not yet published

npm install -D documentation-polyglot

Usage

Note that enabling documentation-polyglot will also enable --shallow if this is not already the case.

Loading via the command-line

documentation build --plugin=documentation-polyglot src/*.cpp lib/*.js -f md -o project.md

Loading via a configuration file

documentation build --config=project-documentation.yml src/*.cpp lib/*.js -f md -o project.md

project-documentation.yml:

toc:
  - Project Headline

plugin:
  - documentation-polyglot

documentation-polyglot:
  extensions: [ .cpp ]

Extracting information from C++ code

An example for extracting names of Node::Nan methods

documentation-polyglot:
  extensions: [ .cpp ]
  infer:
    kind:
      function: [ NAN_METHOD\(.*\) ]
    name: [ NAN_METHOD\s*\((.*)\) ]

An infer section applies an implicit JSDoc tag to the tag having the section name:

  • with subsections it will apply the subsection name when one of the provided REs matches.
  • with only REs it will apply the first capture group

Keywords

FAQs

Last updated on 19 Feb 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc