Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

docdash

clenemt250.1kApache-2.02.0.2

A clean, responsive documentation template theme for JSDoc 3 inspired by lodash and minami

jsdoc, template

readme

Docdash

Build Status npm version license

A clean, responsive documentation template theme for JSDoc 4.

docdash-screenshot

docdash-screenshot-2

Example

See http://clenemt.github.io/docdash/ for a sample demo. :rocket:

Install

$ npm install docdash

Usage

Clone repository to your designated jsdoc template directory, then:

$ jsdoc entry-file.js -t path/to/docdash

Usage (npm)

In your projects package.json file add a new script:

"script": {
  "generate-docs": "node_modules/.bin/jsdoc -c jsdoc.json"
}

In your jsdoc.json file, add a template option.

"opts": {
  "template": "node_modules/docdash"
}

Sample jsdoc.json

See the config file for the fixtures or the sample below.

{
    "tags": {
        "allowUnknownTags": false
    },
    "source": {
        "include": "../js",
        "includePattern": "\\.js$",
        "excludePattern": "(node_modules/|docs)"
    },
    "plugins": [
        "plugins/markdown"
    ],
    "opts": {
        "template": "assets/template/docdash/",
        "encoding": "utf8",
        "destination": "docs/",
        "recurse": true,
        "verbose": true
    },
    "templates": {
        "cleverLinks": false,
        "monospaceLinks": false
    }
}

Options

Docdash supports the following options:

{
    "docdash": {
        "static": [false|true],         // Display the static members inside the navbar
        "sort": [false|true],           // Sort the methods in the navbar
        "sectionOrder": [               // Order the main section in the navbar (default order shown here)
             "Classes",
             "Modules",
             "Externals",
             "Events",
             "Namespaces",
             "Mixins",
             "Tutorials",
             "Interfaces"
        ],
        "disqus": "",                   // Shortname for your disqus (subdomain during site creation)
        "openGraph": {                  // Open Graph options (mostly for Facebook and other sites to easily extract meta information)
            "title": "",                // Title of the website
            "type": "website",          // Type of the website
            "image": "",                // Main image/logo
            "site_name": "",            // Site name
            "url": ""                   // Main canonical URL for the main page of the site
        },
        "meta": {                       // Meta information options (mostly for search engines that have not indexed your site yet)
            "title": "",                // Also will be used as postfix to actualy page title, prefixed with object/document name
            "description": "",          // Description of overal contents of your website
            "keyword": ""               // Keywords for search engines
        },
        "search": [false|true],         // Display seach box above navigation which allows to search/filter navigation items
        "commonNav": [false|true],      // Group all html code for <nav> in a nav.inc.html fetched on each page (instead of include it in each html page, save {navSize}×{nb html pages} which can be huge on big project)
        "collapse": [false|true|top],   // Collapse navigation by default except current object's navigation of the current page, top for top level collapse
        "wrap": [false|true],           // Wrap long navigation names instead of trimming them
        "typedefs": [false|true],       // Include typedefs in menu
        "navLevel": [integer],          // depth level to show in navbar, starting at 0 (false or -1 to disable)
        "private": [false|true],        // set to false to not show @private in navbar
        "removeQuotes": [none|all|trim],// Remove single and double quotes, trim removes only surrounding ones
        "scripts": [],                  // Array of external (or relative local copied using templates.default.staticFiles.include) js or css files to inject into HTML,
        "ShortenTypes": [false|true], // If set to true this will resolve the display name of all types as the shortened name only (after the final period).
        "menu": {                       // Adding additional menu items after Home
            "Project Website": {        // Menu item name
                "href":"https://myproject.com", //the rest of HTML properties to add to manu item
                "target":"_blank",
                "class":"menu-item",
                "id":"website_link"
            },
            "Forum": {
                "href":"https://myproject.com.forum",
                "target":"_blank",
                "class":"menu-item",
                "id":"forum_link"
            }
        },
        "scopeInOutputPath": [false|true], // Add scope from package file (if present) to the output path, true by default.
        "nameInOutputPath": [false|true], // Add name from package file to the output path, true by default.
        "versionInOutputPath": [false|true] // Add package version to the output path, true by default. 
    }
}

Place them anywhere inside your jsdoc.json file.

Contributors

Thanks to lodash and minami.

License

Licensed under the Apache License, version 2.0. (see Apache-2.0).

changelog

Version 2.0.2

  • [feature] added noURLEncode option to not url encode links in the menu for unicode texts

    Version 2.0.1

  • [fix] Removed old backwards compatability fix to fix in page linking

Version 2.0.0

Version 1.2.0

Version 1.1.1

Version 1.1.0

Version 1.0.3

  • [style] break headers into multiple lines
  • [style] break links in descriptions into multiple lines
  • [fix] fix ancestor check when there are none, like including tutorials
  • [fix] remove unnecessary files from published package
  • [fix] stop crashing on incorrect params JSDoc comments
  • [feature] add displaying version from package.json when it is provided
  • [feature] add support for yield
  • [feature] add support for namepsaces that are functions
  • [feature] add support for interfaces
  • [feature] add support for modifies

Version 1.0.2

  • [styles] increase space between custom menu items
  • [option] Added wrap option to wrap long names instead of trimming them
  • [option] Added navLevel option to control depth level to show in navbar, starting at 0
  • [option] Added private option to show/hide @private in navbar

Version 1.0.1

  • Allow adding custom menu items
  • Remove line-height: 160%

Version 1.0.0

  • Add option to add disqus comments to each page
  • Add option to filter through navigation items
  • Add option to have menus collapsed by default and only open the one for the current page
  • Add option to provide custom site title
  • Add option to provide meta information for the website
  • Add option to provide opengraph information for the website
  • Add viewport meta data
  • Added global table styles
  • Added support for @hidecontainer (jsdoc 3.5.0)
  • Added support for useLongnameInNav
  • Allow including typedefs in the menu
  • Allow inclusion of custom CSS
  • Allow injecting external or local copied scripts into HTML
  • Allow removing single and double quotes from pathnames
  • Fix crash when @example is empty or undefined
  • Fix issue with node 8.5
  • Fixing copyFile problem on some systems or nodejs versions
  • Removes arbitrary width property
  • Support ordering of the main navbar sections