async render (options = {}) {
    const dmdOptions = new DmdOptions(options)
    if (options.data) {
      return dmd(options.data, dmdOptions)
    } else {
      const templateData = await this.getTemplateData(options)
      return dmd(templateData, dmdOptions)
    }
  }
Returns markdown documentation from jsdoc-annoted source code.

@param [options] {object} - Accepts all {@link module:jsdoc-to-markdown#getJsdocData} options plus the following:
@param [options.data] {object[]} - Raw template data to use. Useful when you already have template data, obtained from `.getTemplateData()`. In the options, one of `files`, `source`, , `configure` or `data` must be supplied.
@param [options.template] {string} - The handlebars template the supplied documentation will be rendered into. Enables full control over the output.
@param [options.heading-depth] {number} - The initial heading depth. For example, with a value of `2` the top-level markdown headings look like `"## The heading"`.
@param [options.example-lang] {string} - Specifies the default language used in @example blocks (for [syntax-highlighting](https://help.github.com/articles/github-flavored-markdown/#syntax-highlighting) purposes). In gfm mode, each @example is wrapped in a fenced-code block. Example usage: `--example-lang js`. Use the special value `none` for no specific language. While using this option, you can override the supplied language for any @example by specifying the `@lang` subtag, e.g `@example @lang hbs`. Specifying `@example @lang off` will disable code blocks for that example.
@param [options.plugin] {string|string[]} - Use an installed package containing helper and/or partial overrides.
@param [options.helper] {string|string[]} - handlebars helper files to override or extend the default set.
@param [options.partial] {string|string[]} - handlebars partial files to override or extend the default set.
@param [options.name-format] {string} - Format identifier names as code (i.e. wrap function/property/class etc names in backticks).
@param [options.no-gfm] {boolean} - By default, dmd generates github-flavoured markdown. Not all markdown parsers render gfm correctly. If your generated docs look incorrect on sites other than Github (e.g. npmjs.org) try enabling this option to disable Github-specific syntax.
@param [options.separators] {boolean} - Put `<hr>` breaks between identifiers. Improves readability on bulky docs.
@param [options.module-index-format] {string} - none, grouped, table, dl.
@param [options.global-index-format] {} - none, grouped, table, dl.
@param [options.param-list-format] {} - Two options to render parameter lists: 'list' or 'table' (default). Table format works well in most cases but switch to list if things begin to look crowded / squashed.
@param [options.property-list-format] {} - list, table.
@param [options.member-index-format] {} - grouped, list
@param [options.clever-links] {boolean} - By default, all {@link} tags are rendered in plain text. If `--clever-links` is set, URL {@link} tags are rendered in plain text, otherwise monospace.
@param [options.monospace-links] {boolean} - By default, all {@link} tags are rendered in plain text. If `--monospace-links` is set, all links are rendered in monospace format. This setting is ignored if `--clever-links` is set.
@param [options.EOL] {string} - Specify ether `posix` or `win32`. Forces all line endings in the dmd output to use the specified EOL character - can help to avoid scenarios where files contain mixed line-endings.
@return {Promise<string>}
@fulfil {string} - the rendered docs
@category async
@example
Pass in filepaths (`**` glob matching supported) of javascript source files:
```js
> const apiDocs = await jsdoc2md.render({ files: 'lib/*.js' })
```