Skip to content

mmomtchev/documentation-polyglot

Repository files navigation

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

About

C++ plugin for documentation.js

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy