npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dmd-grunt-jsdoc2md

v1.1.2

Published

Plugin for dmd and dmd-grunt-jsdoc2md which provides an api index and more readable docs.

Downloads

131

Readme

dmd-grunt-jsdoc2md

A dmd template extension for grunt-jsdoc2md that generates a global, navigable API index across multiple Markdown files produced from JSDoc.

This package does not generate documentation by itself. Instead, it extends the dmd render phase with additional helpers and Handlebars partials that operate on the complete JSDoc symbol model.

npm version License: MIT Built with Grunt dependencies

Contents

See also: Changelog

Getting started

This guide assumes familiarity with npm, Grunt, and JSDoc-based documentation workflows.

Install the package as a development dependency:

npm install dmd-grunt-jsdoc2md --save-dev

This package is designed to be used together with grunt-jsdoc2md, which must already be part of your build setup.

Concept and scope

When using grunt-jsdoc2md, it is common to generate one Markdown file per source file. While this scales well for larger codebases, it leaves the generated documentation without a single, global entry point.

dmd-grunt-jsdoc2md addresses this gap by providing:

  • additional dmd helpers
  • a set of Handlebars partials

that are executed during the dmd render phase. These templates have access to the entire JSDoc symbol model and can therefore generate a global API index that links all generated Markdown files together.

The index is symbol-based (modules and their members), not file-based, and relies entirely on the metadata and link targets already provided by dmd and jsdoc-to-markdown.

Usage

dmd-grunt-jsdoc2md is used implicitly by grunt-jsdoc2md when configured to generate an index file.

Example source structure:

--+ src
  + file1.js
  + file2.js
  + subdir1
  |  + subdir1file1.js
  |
  + subdir2
     + subdir2file1.js

Corresponding grunt-jsdoc2md configuration (excerpt from Gruntfile.js):

{
  "jsdoc2md": {
    "target0": {
      "src": "src/**/*.js",
      "dest": "docs/apidir/",
      "options": {
        "index": {
          "dest": "docs/api.md"
        }
      }
    }
  }
}

This configuration results in:

--+ docs
  + api.md          <= global API index
  |
  + apidir          <= per-file API documentation
    + file1.md
    + file2.md
    + subdir1
    |  + subdir1file1.md
    |
    + subdir2
       + subdir2file1.md

During the render process:

  1. grunt-jsdoc2md builds the complete JSDoc symbol model.
  2. Per-file Markdown documents are rendered.
  3. dmd renders an additional index template provided by this package.
  4. The resulting api.md links to all documented modules and their members.

The index can be rendered in different formats (grouped, list-based, or tabular), depending on the configured dmd options.

What this package does not do

To avoid misunderstandings, this package intentionally does not:

  • parse source code
  • collect or aggregate JSDoc metadata itself
  • generate or post-process Markdown files
  • manage file paths or links manually

All links, anchors, and symbol relationships are derived directly from dmd and jsdoc-to-markdown.


In short, dmd-grunt-jsdoc2md is a focused dmd extension that leverages the global render context to provide a single, navigable API index for multi-file JSDoc-based documentation.