reference

0.1.1 • Public • Published

reference.js

Generate a simple API reference from JSON. Made specifically for PeerJS, so it probably won't suit your needs.

npm install reference

Usage

var reference = require('reference');
var fs = require('fs');
 
var file = fs.readFileSync('./documentation.json', {anchor: true}); // adds permalinks/anchors for all headings.
// also accepts yaml.
 
// Generated HTML!
var html = reference(file);

Expected style

The name property is required. Everything else is optional. Anchor IDs will correspond to the nesting of the current property (e.g. Some Class -> klass#method -> argument has an ID of some_class-klassmethod-argument).

[
  {
    "name": "TopLevelClass",
    "type": "constructor",
    "tags": ["my", "tags"], // newly-added; doesn't show up in the pic below.
    "description": "This class does some stuff.",
    "snippet": "var klass = new TopLevelClass(arg1, [callback]);",
    "children": [
      {
        "name": "arg1",
        "type": "string",
        "description": "This is an argument for the constructor."
      },
      {
        "name": "callback",
        "type": "function",
        "description": "This is an optional callback.",
        "optional": true,
        "children": {
          "name": "err",
          "type": "error",
          "description": "Will callback with an error if you messed up."
        }
      }
    ]
  },
  {
    "name": "AnotherTopLevelClass",
    "type": "constructor",
    "description": "This class does some other stuff.",
    "snippet": "var klass2 = new AnotherTopLevelClass(options);",
    "children": {
      "name": "options",
      "type": "object",
      "description": "This is a hash of options for AnotherTopLevelClass.",
      "children": [
        {
          "name": "option1",
          "description": "This is anything, really."
        },
        {
          "name": "option2",
          "description": "This is just really another option."
        }
      ]
    }
  }
]

The above should give you something like this:

Generate PeerJS demo

cd demo
npm install
node demo.js

Readme

Keywords

none

Package Sidebar

Install

npm i reference

Weekly Downloads

19

Version

0.1.1

License

BSD

Last publish

Collaborators

  • michelle