├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── fixtures ├── base │ ├── chains.js │ └── index.js ├── documents │ ├── binder.js │ ├── collector.js │ ├── model.js │ ├── probe.js │ └── schema.js ├── fixtures.conf.json ├── generators │ └── generator.js ├── mixins │ ├── bussable.js │ └── signalable.js ├── strings │ └── format.js ├── tutorials │ ├── Brush Teeth.md │ ├── Drive Car.md │ └── Fence Test.md └── utils │ └── logger.js ├── generateDocs.sh ├── package.json ├── publish.js ├── static ├── fonts │ ├── Montserrat │ │ ├── Montserrat-Bold.eot │ │ ├── Montserrat-Bold.ttf │ │ ├── Montserrat-Bold.woff │ │ ├── Montserrat-Bold.woff2 │ │ ├── Montserrat-Regular.eot │ │ ├── Montserrat-Regular.ttf │ │ ├── Montserrat-Regular.woff │ │ └── Montserrat-Regular.woff2 │ └── Source-Sans-Pro │ │ ├── sourcesanspro-light-webfont.eot │ │ ├── sourcesanspro-light-webfont.svg │ │ ├── sourcesanspro-light-webfont.ttf │ │ ├── sourcesanspro-light-webfont.woff │ │ ├── sourcesanspro-light-webfont.woff2 │ │ ├── sourcesanspro-regular-webfont.eot │ │ ├── sourcesanspro-regular-webfont.svg │ │ ├── sourcesanspro-regular-webfont.ttf │ │ ├── sourcesanspro-regular-webfont.woff │ │ └── sourcesanspro-regular-webfont.woff2 ├── scripts │ ├── collapse.js │ ├── commonNav.js │ ├── linenumber.js │ ├── nav.js │ ├── polyfill.js │ ├── prettify │ │ ├── Apache-License-2.0.txt │ │ ├── lang-css.js │ │ └── prettify.js │ └── search.js └── styles │ ├── jsdoc.css │ └── prettify.css └── tmpl ├── augments.tmpl ├── container.tmpl ├── details.tmpl ├── example.tmpl ├── examples.tmpl ├── exceptions.tmpl ├── layout.tmpl ├── mainpage.tmpl ├── members.tmpl ├── method.tmpl ├── modifies.tmpl ├── namespace.tmpl ├── params.tmpl ├── properties.tmpl ├── returns.tmpl ├── source.tmpl ├── tutorial.tmpl └── type.tmpl /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | fixtures-doc 3 | *.sublime-project 4 | *.sublime-workspace 5 | .DS_Store 6 | .DS_Store? 7 | ._* 8 | .Spotlight-V100 9 | .Trashes 10 | ehthumbs.db 11 | Thumbs.db 12 | logs 13 | *.log 14 | jspm_packages 15 | .npm 16 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '8' 4 | - '10' 5 | sudo: false 6 | branches: 7 | except: 8 | - gh-pages 9 | before_script: 10 | - npm install 11 | - npm install -g jsdoc 12 | script: 13 | - npm test 14 | after_success: 15 | - cd $TRAVIS_BUILD_DIR 16 | - chmod +x generateDocs.sh 17 | - bash generateDocs.sh 18 | env: 19 | global: 20 | secure: SVc8CMwRHndoJpYUzfmmbj4mb0uvhTYFbQMqB2GNjKT9yFv5OpryNn7Yne16PD/MJ5zEtJ+QNuOYnQG+GDecTC5Ok9xKycgZyN7HA2+C6yE1u5C4o33XVTliW0aT7ADYra1V3jmP794SJSHALCwosJHAGxG6AH9cY/s4xfCuFE1TbwUOZA8WAxsu2tLvEp7IdoXLG3XGqwirSL95iC9VdfNcoF1uXdiJu1ZJw8/3RJUxQR6oDjQLsiv6rag83ktd0+Oe+nKw8qi4r1vRH6+SfZaEcaCy7qtZbNcwsE0CCZ3gwM3ekbrdnOMlOqz/Kgh7iTBlkfDpw6pVc3zaL9oagAbVJdbNiRWto8ourzaa4uAbqZJrJCl2auKRHLZTssu+jg7XI+oPhNsndhJZRDG0EvvDrbbSlVgCkTkgoucEcK/4HOt5b1m+5sd8343hDYBC4+26mhc5gzvojOQgVu+W+qgPMFf9Xt5LTTdPsKdNRPICFUy0h6R2FVfHmOYv2T42nm4I2NWXnpQffWsq2zHIuEiz0sBGDk27z7lzHwWnumJ98gPdYfGqSpWXzRPUoK80Jz/YIMop3yeiSY9GCHk9Lt8F548xQRhqQCzjmHo9wSmubfE5LHQCehxZ0zWrXzuLsxOWDh9NpKmM8dk5VV3ZBvqrMubNSBgpYp1YnGHFuRU= -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Version 2.0.2 2 | * [feature] added noURLEncode option to not url encode links in the menu for unicode texts 3 | ## Version 2.0.1 4 | * [fix] Removed old backwards compatability fix to fix in page linking 5 | 6 | ## Version 2.0.0 7 | * [feature] BREAKING: updated the system to work with JSdoc 4.x https://github.com/clenemt/docdash/pull/110 8 | * [feature] Added custom classes to h5 headers for customization 9 | * [feature] Added Global into section order 10 | * [feature] Added possibility to exclude package scope/name and version from output path https://github.com/clenemt/docdash/pull/78 11 | * [feature] Added type signature specific classes for CSS customization 12 | * [feature] Adjusted layout for namespace https://github.com/clenemt/docdash/pull/86 13 | * [feature] Common Navigation HTML generated https://github.com/clenemt/docdash/pull/95 14 | * [feature] Collapsible top level menu 15 | * [feature] Shorten types https://github.com/clenemt/docdash/pull/104 16 | * [feature] Update CSS for pre https://github.com/clenemt/docdash/pull/103 17 | * [fix] Added double quotes to README for consistency https://github.com/clenemt/docdash/pull/96 18 | * [fix] Fixed extra scroll bar on large code blocks https://github.com/clenemt/docdash/pull/99 19 | * [fix] Fixed regular expression in README.md https://github.com/clenemt/docdash/pull/81 20 | 21 | ## Version 1.2.0 22 | 23 | * [feature] host fonts locally https://github.com/clenemt/docdash/pull/63 24 | * [feature] separate styles for headers inside user markdown https://github.com/clenemt/docdash/pull/64 25 | * [feature] hide static/private method depending of the config https://github.com/clenemt/docdash/pull/72 26 | * [fix] fix empty source code lines in some browsers 27 | * [fix] improved viewing theme on smaller screens https://github.com/clenemt/docdash/pull/62 28 | 29 | ## Version 1.1.1 30 | 31 | * [feature] scroll to currently opened method on page load https://github.com/clenemt/docdash/pull/60 32 | * [fix] fixed searching in IE11 33 | * [fix] hiding/showing find exact match to open only single relevant section 34 | 35 | ## Version 1.1.0 36 | 37 | * [scripts] remove jQuery as dependency https://github.com/clenemt/docdash/pull/54 38 | * [feature] allow aliasing event names https://github.com/clenemt/docdash/pull/59 39 | 40 | ## Version 1.0.3 41 | 42 | * [style] break headers into multiple lines 43 | * [style] break links in descriptions into multiple lines 44 | * [fix] fix ancestor check when there are none, like including tutorials 45 | * [fix] remove unnecessary files from published package 46 | * [fix] stop crashing on incorrect params JSDoc comments 47 | * [feature] add displaying version from package.json when it is provided 48 | * [feature] add support for yield 49 | * [feature] add support for namepsaces that are functions 50 | * [feature] add support for interfaces 51 | * [feature] add support for modifies 52 | 53 | ## Version 1.0.2 54 | 55 | * [styles] increase space between custom menu items 56 | * [option] Added `wrap` option to wrap long names instead of trimming them 57 | * [option] Added `navLevel` option to control depth level to show in navbar, starting at 0 58 | * [option] Added `private` option to show/hide @private in navbar 59 | 60 | ## Version 1.0.1 61 | 62 | * Allow adding custom menu items 63 | * Remove line-height: 160% 64 | 65 | ## Version 1.0.0 66 | 67 | * Add option to add disqus comments to each page 68 | * Add option to filter through navigation items 69 | * Add option to have menus collapsed by default and only open the one for the current page 70 | * Add option to provide custom site title 71 | * Add option to provide meta information for the website 72 | * Add option to provide opengraph information for the website 73 | * Add viewport meta data 74 | * Added global table styles 75 | * Added support for @hidecontainer (jsdoc 3.5.0) 76 | * Added support for useLongnameInNav 77 | * Allow including typedefs in the menu 78 | * Allow inclusion of custom CSS 79 | * Allow injecting external or local copied scripts into HTML 80 | * Allow removing single and double quotes from pathnames 81 | * Fix crash when @example is empty or undefined 82 | * Fix issue with node 8.5 83 | * Fixing copyFile problem on some systems or nodejs versions 84 | * Removes arbitrary width property 85 | * Support ordering of the main navbar sections 86 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | Docdash is free software, licensed under the Apache License, Version 2.0 (the 4 | "License"). Commercial and non-commercial use are permitted in compliance with 5 | the License. 6 | 7 | Copyright (c) 2016 Clement Moron and the 8 | [contributors to docdash](https://github.com/clenemt/docdash/graphs/contributors). 9 | All rights reserved. 10 | 11 | You may obtain a copy of the License at: 12 | http://www.apache.org/licenses/LICENSE-2.0 13 | 14 | In addition, a copy of the License is included with this distribution. 15 | 16 | As stated in Section 7, "Disclaimer of Warranty," of the License: 17 | 18 | > Licensor provides the Work (and each Contributor provides its Contributions) 19 | > on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 20 | > express or implied, including, without limitation, any warranties or 21 | > conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 22 | > PARTICULAR PURPOSE. You are solely responsible for determining the 23 | > appropriateness of using or redistributing the Work and assume any risks 24 | > associated with Your exercise of permissions under this License. 25 | 26 | The source code for docdash is available at: 27 | https://github.com/clenemt/docdash 28 | 29 | # Third-Party Software 30 | 31 | Docdash includes or depends upon the following third-party software, either in 32 | whole or in part. Each third-party software package is provided under its own 33 | license. 34 | 35 | ## JSDoc 3 36 | 37 | JSDoc 3 is free software, licensed under the Apache License, Version 2.0 (the 38 | "License"). Commercial and non-commercial use are permitted in compliance with 39 | the License. 40 | 41 | Copyright (c) 2011-2016 Michael Mathews and the 42 | [contributors to JSDoc](https://github.com/jsdoc3/jsdoc/graphs/contributors). 43 | All rights reserved. 44 | 45 | You may obtain a copy of the License at: 46 | http://www.apache.org/licenses/LICENSE-2.0 47 | 48 | In addition, a copy of the License is included with this distribution. 49 | 50 | As stated in Section 7, "Disclaimer of Warranty," of the License: 51 | 52 | > Licensor provides the Work (and each Contributor provides its Contributions) 53 | > on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 54 | > express or implied, including, without limitation, any warranties or 55 | > conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 56 | > PARTICULAR PURPOSE. You are solely responsible for determining the 57 | > appropriateness of using or redistributing the Work and assume any risks 58 | > associated with Your exercise of permissions under this License. 59 | 60 | The source code for JSDoc 3 is available at: 61 | https://github.com/jsdoc3/jsdoc 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Docdash 2 | [![Build Status](https://api.travis-ci.org/clenemt/docdash.png?branch=master)](https://travis-ci.org/clenemt/docdash) [![npm version](https://badge.fury.io/js/docdash.svg)](https://badge.fury.io/js/docdash) [![license](https://img.shields.io/npm/l/docdash.svg)](LICENSE.md) 3 | 4 | A clean, responsive documentation template theme for JSDoc 4. 5 | 6 | ![docdash-screenshot](https://cloud.githubusercontent.com/assets/447956/13398144/4dde7f36-defd-11e5-8909-1a9013302cb9.png) 7 | 8 | ![docdash-screenshot-2](https://cloud.githubusercontent.com/assets/447956/13401057/e30effd8-df0a-11e5-9f51-66257ac38e94.jpg) 9 | 10 | ## Example 11 | See http://clenemt.github.io/docdash/ for a sample demo. :rocket: 12 | 13 | ## Install 14 | 15 | ```bash 16 | $ npm install docdash 17 | ``` 18 | 19 | ## Usage 20 | Clone repository to your designated `jsdoc` template directory, then: 21 | 22 | ```bash 23 | $ jsdoc entry-file.js -t path/to/docdash 24 | ``` 25 | 26 | ## Usage (npm) 27 | In your projects `package.json` file add a new script: 28 | 29 | ```json 30 | "script": { 31 | "generate-docs": "node_modules/.bin/jsdoc -c jsdoc.json" 32 | } 33 | ``` 34 | 35 | In your `jsdoc.json` file, add a template option. 36 | 37 | ```json 38 | "opts": { 39 | "template": "node_modules/docdash" 40 | } 41 | ``` 42 | 43 | ## Sample `jsdoc.json` 44 | See the config file for the [fixtures](fixtures/fixtures.conf.json) or the sample below. 45 | 46 | ```json 47 | { 48 | "tags": { 49 | "allowUnknownTags": false 50 | }, 51 | "source": { 52 | "include": "../js", 53 | "includePattern": "\\.js$", 54 | "excludePattern": "(node_modules/|docs)" 55 | }, 56 | "plugins": [ 57 | "plugins/markdown" 58 | ], 59 | "opts": { 60 | "template": "assets/template/docdash/", 61 | "encoding": "utf8", 62 | "destination": "docs/", 63 | "recurse": true, 64 | "verbose": true 65 | }, 66 | "templates": { 67 | "cleverLinks": false, 68 | "monospaceLinks": false 69 | } 70 | } 71 | ``` 72 | 73 | ## Options 74 | Docdash supports the following options: 75 | 76 | ```json5 77 | { 78 | "docdash": { 79 | "static": [false|true], // Display the static members inside the navbar 80 | "sort": [false|true], // Sort the methods in the navbar 81 | "sectionOrder": [ // Order the main section in the navbar (default order shown here) 82 | "Classes", 83 | "Modules", 84 | "Externals", 85 | "Events", 86 | "Namespaces", 87 | "Mixins", 88 | "Tutorials", 89 | "Interfaces" 90 | ], 91 | "disqus": "", // Shortname for your disqus (subdomain during site creation) 92 | "openGraph": { // Open Graph options (mostly for Facebook and other sites to easily extract meta information) 93 | "title": "", // Title of the website 94 | "type": "website", // Type of the website 95 | "image": "", // Main image/logo 96 | "site_name": "", // Site name 97 | "url": "" // Main canonical URL for the main page of the site 98 | }, 99 | "meta": { // Meta information options (mostly for search engines that have not indexed your site yet) 100 | "title": "", // Also will be used as postfix to actualy page title, prefixed with object/document name 101 | "description": "", // Description of overal contents of your website 102 | "keyword": "" // Keywords for search engines 103 | }, 104 | "search": [false|true], // Display seach box above navigation which allows to search/filter navigation items 105 | "commonNav": [false|true], // Group all html code for