Skip to content
Lorin Halpert edited this page Nov 26, 2021 · 52 revisions
Clone this wiki locally



  1. Some real world examples
  2. Document a CommonJS module
  3. Using module exports
  4. Using exports
  5. Document a ES2015 module
    1. Single default export
    2. Multiple named exports
  6. Document an AMD module
  7. Document ES2017 features like async and await
  8. Document TypeScript
  9. Listing namepaths
  10. Documenting .mjs, .jsx or files with any other extension

Tag Conventions

  1. Give your module, class or namespace a @typicalname.
  2. Promises (@fulfil and @reject)
  3. Todo lists (@todo and @done)
  4. Linking to external resources (using @external and @see)
  5. @chainable
  6. Custom tags

Format options

  1. @param list formats - table and list.
  2. @property list formats - table and list.
  3. Member index formats
  4. Module index formats
  5. Global index formats
  6. Output standard markdown (rather than Github-flavoured)
  7. Initial heading depth
  8. Default @example language

Customising output

  1. --template example: create a project
  2. --partial example: tweak the output with a custom partial
  3. --helper example: register custom helpers for use in your template
  4. Cherry-picking which documentation appears in output
  5. Create a plugin
  6. Existing plugin list

Task runners

  1. Use with npm run
  2. Use with Gulp
  3. Use with grunt


  1. Create one output file per class


  1. How jsdoc2md works


First, check the troubleshooting page. If still have questions, post your question in an issue or the jsdoc2md chat room, i'll get back to you as soon as I can!