├── .gitignore ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── plugins └── es6-fix.js ├── publish.js ├── src ├── scripts │ ├── linenumber.js │ └── main.js └── styles │ ├── common.less │ ├── footer.less │ ├── index.less │ ├── main.less │ └── navigation.less ├── static ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── scripts │ ├── bootstrap.min.js │ ├── jquery.min.js │ ├── jquery.min.map │ └── prettify │ │ ├── Apache-License-2.0.txt │ │ ├── lang-css.js │ │ └── prettify.js └── styles │ ├── bootstrap.min.css │ ├── prettify-jsdoc.css │ └── prettify-tomorrow.css └── tmpl ├── container.tmpl ├── details.tmpl ├── example.tmpl ├── examples.tmpl ├── exceptions.tmpl ├── layout.tmpl ├── mainpage.tmpl ├── members.tmpl ├── method.tmpl ├── navigation.tmpl ├── params.tmpl ├── properties.tmpl ├── returns.tmpl ├── source.tmpl ├── tutorial.tmpl └── type.tmpl /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | static/**/main.* 3 | .idea/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Sangmin, Shim 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PixiJS template for JSDoc 3 2 | 3 | - [PixiJS](http://pixijs.com/) 4 | - [JSDoc3](https://github.com/jsdoc3/jsdoc) 5 | - [JSDoc3 API Documentations](http://usejsdoc.org) 6 | 7 | ## Installation 8 | 9 | Install the template using NPM: 10 | 11 | ```bash 12 | npm install @pixi/jsdoc-template --save-dev 13 | ``` 14 | 15 | ## Usage 16 | 17 | If you already have JSDoc system, you can use this project as JSDoc template. More information about JSDoc command-line arguments can be found [here](http://usejsdoc.org/about-commandline.html). 18 | 19 | ```bash 20 | jsdoc -c conf.json -R README.md 21 | ``` 22 | 23 | ### conf.json 24 | 25 | You can set options for customizing your documentations. Notice the `"template"` field for setting the path to **pixi-jsdoc-template**. 26 | 27 | ```json 28 | { 29 | "templates": { 30 | "applicationName": "Demo", 31 | "disqus": "", 32 | "googleAnalytics": "", 33 | "favicon": "path/to/favicon.png", 34 | "openGraph": { 35 | "title": "", 36 | "type": "website", 37 | "image": "", 38 | "site_name": "", 39 | "url": "" 40 | }, 41 | "meta": { 42 | "title": "", 43 | "description": "", 44 | "keyword": "" 45 | }, 46 | "linenums": true, 47 | "source": { 48 | "include": [ 49 | "./src/" 50 | ], 51 | "includePattern": ".+\\.js(doc)?$", 52 | "excludePattern": "(^|\\/|\\\\)_" 53 | }, 54 | "opts": { 55 | "encoding": "utf8", 56 | "recurse": true, 57 | "private": false, 58 | "lenient": true, 59 | "destination": "./docs", 60 | "template": "./node_modules/@pixi/jsdoc-template" 61 | } 62 | }, 63 | "pixi": { 64 | "styles": ["path/to/custom/styles.css"], 65 | "scripts": ["path/to/custom/script.js"] 66 | } 67 | } 68 | ``` 69 | 70 | ## License 71 | 72 | This project under the MIT License. and this project refered by default template for JSDoc 3. 73 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@pixi/jsdoc-template", 3 | "version": "2.6.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ajv": { 8 | "version": "4.11.8", 9 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", 10 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", 11 | "dev": true, 12 | "optional": true, 13 | "requires": { 14 | "co": "^4.6.0", 15 | "json-stable-stringify": "^1.0.1" 16 | } 17 | }, 18 | "align-text": { 19 | "version": "0.1.4", 20 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", 21 | "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", 22 | "dev": true, 23 | "requires": { 24 | "kind-of": "^3.0.2", 25 | "longest": "^1.0.1", 26 | "repeat-string": "^1.5.2" 27 | } 28 | }, 29 | "amdefine": { 30 | "version": "1.0.1", 31 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 32 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 33 | "dev": true 34 | }, 35 | "ansi-styles": { 36 | "version": "3.2.1", 37 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 38 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 39 | "dev": true, 40 | "requires": { 41 | "color-convert": "^1.9.0" 42 | } 43 | }, 44 | "array-filter": { 45 | "version": "0.0.1", 46 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", 47 | "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", 48 | "dev": true 49 | }, 50 | "array-map": { 51 | "version": "0.0.0", 52 | "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", 53 | "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", 54 | "dev": true 55 | }, 56 | "array-reduce": { 57 | "version": "0.0.0", 58 | "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", 59 | "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", 60 | "dev": true 61 | }, 62 | "asap": { 63 | "version": "2.0.6", 64 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 65 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", 66 | "dev": true, 67 | "optional": true 68 | }, 69 | "asn1": { 70 | "version": "0.2.3", 71 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 72 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 73 | "dev": true, 74 | "optional": true 75 | }, 76 | "assert-plus": { 77 | "version": "0.2.0", 78 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 79 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 80 | "dev": true, 81 | "optional": true 82 | }, 83 | "asynckit": { 84 | "version": "0.4.0", 85 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 86 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 87 | "dev": true, 88 | "optional": true 89 | }, 90 | "aws-sign2": { 91 | "version": "0.6.0", 92 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 93 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 94 | "dev": true, 95 | "optional": true 96 | }, 97 | "aws4": { 98 | "version": "1.7.0", 99 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", 100 | "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", 101 | "dev": true, 102 | "optional": true 103 | }, 104 | "balanced-match": { 105 | "version": "1.0.0", 106 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 107 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 108 | "dev": true 109 | }, 110 | "bcrypt-pbkdf": { 111 | "version": "1.0.1", 112 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 113 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 114 | "dev": true, 115 | "optional": true, 116 | "requires": { 117 | "tweetnacl": "^0.14.3" 118 | } 119 | }, 120 | "boom": { 121 | "version": "2.10.1", 122 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 123 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 124 | "dev": true, 125 | "optional": true, 126 | "requires": { 127 | "hoek": "2.x.x" 128 | } 129 | }, 130 | "brace-expansion": { 131 | "version": "1.1.11", 132 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 133 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 134 | "dev": true, 135 | "requires": { 136 | "balanced-match": "^1.0.0", 137 | "concat-map": "0.0.1" 138 | } 139 | }, 140 | "camelcase": { 141 | "version": "1.2.1", 142 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", 143 | "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", 144 | "dev": true 145 | }, 146 | "caseless": { 147 | "version": "0.12.0", 148 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 149 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 150 | "dev": true, 151 | "optional": true 152 | }, 153 | "center-align": { 154 | "version": "0.1.3", 155 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", 156 | "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", 157 | "dev": true, 158 | "requires": { 159 | "align-text": "^0.1.3", 160 | "lazy-cache": "^1.0.3" 161 | } 162 | }, 163 | "chalk": { 164 | "version": "2.4.2", 165 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 166 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 167 | "dev": true, 168 | "requires": { 169 | "ansi-styles": "^3.2.1", 170 | "escape-string-regexp": "^1.0.5", 171 | "supports-color": "^5.3.0" 172 | } 173 | }, 174 | "clean-css": { 175 | "version": "3.4.28", 176 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", 177 | "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", 178 | "dev": true, 179 | "requires": { 180 | "commander": "2.8.x", 181 | "source-map": "0.4.x" 182 | }, 183 | "dependencies": { 184 | "source-map": { 185 | "version": "0.4.4", 186 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", 187 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", 188 | "dev": true, 189 | "requires": { 190 | "amdefine": ">=0.0.4" 191 | } 192 | } 193 | } 194 | }, 195 | "cli": { 196 | "version": "1.0.1", 197 | "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", 198 | "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", 199 | "dev": true, 200 | "requires": { 201 | "exit": "0.1.2", 202 | "glob": "^7.1.1" 203 | } 204 | }, 205 | "cliui": { 206 | "version": "2.1.0", 207 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", 208 | "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", 209 | "dev": true, 210 | "requires": { 211 | "center-align": "^0.1.1", 212 | "right-align": "^0.1.1", 213 | "wordwrap": "0.0.2" 214 | } 215 | }, 216 | "co": { 217 | "version": "4.6.0", 218 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 219 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 220 | "dev": true, 221 | "optional": true 222 | }, 223 | "color-convert": { 224 | "version": "1.9.3", 225 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 226 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 227 | "dev": true, 228 | "requires": { 229 | "color-name": "1.1.3" 230 | } 231 | }, 232 | "color-name": { 233 | "version": "1.1.3", 234 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 235 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 236 | "dev": true 237 | }, 238 | "combined-stream": { 239 | "version": "1.0.6", 240 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", 241 | "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", 242 | "dev": true, 243 | "optional": true, 244 | "requires": { 245 | "delayed-stream": "~1.0.0" 246 | } 247 | }, 248 | "commander": { 249 | "version": "2.8.1", 250 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 251 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 252 | "dev": true, 253 | "requires": { 254 | "graceful-readlink": ">= 1.0.0" 255 | } 256 | }, 257 | "concat-map": { 258 | "version": "0.0.1", 259 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 260 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 261 | "dev": true 262 | }, 263 | "console-browserify": { 264 | "version": "1.1.0", 265 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", 266 | "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", 267 | "dev": true, 268 | "requires": { 269 | "date-now": "^0.1.4" 270 | } 271 | }, 272 | "core-util-is": { 273 | "version": "1.0.2", 274 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 275 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 276 | "dev": true 277 | }, 278 | "cross-spawn": { 279 | "version": "6.0.5", 280 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 281 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 282 | "dev": true, 283 | "requires": { 284 | "nice-try": "^1.0.4", 285 | "path-key": "^2.0.1", 286 | "semver": "^5.5.0", 287 | "shebang-command": "^1.2.0", 288 | "which": "^1.2.9" 289 | } 290 | }, 291 | "cryptiles": { 292 | "version": "2.0.5", 293 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 294 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 295 | "dev": true, 296 | "optional": true, 297 | "requires": { 298 | "boom": "2.x.x" 299 | } 300 | }, 301 | "dashdash": { 302 | "version": "1.14.1", 303 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 304 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 305 | "dev": true, 306 | "optional": true, 307 | "requires": { 308 | "assert-plus": "^1.0.0" 309 | }, 310 | "dependencies": { 311 | "assert-plus": { 312 | "version": "1.0.0", 313 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 314 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 315 | "dev": true, 316 | "optional": true 317 | } 318 | } 319 | }, 320 | "date-now": { 321 | "version": "0.1.4", 322 | "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", 323 | "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", 324 | "dev": true 325 | }, 326 | "decamelize": { 327 | "version": "1.2.0", 328 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 329 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 330 | "dev": true 331 | }, 332 | "define-properties": { 333 | "version": "1.1.3", 334 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 335 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 336 | "dev": true, 337 | "requires": { 338 | "object-keys": "^1.0.12" 339 | } 340 | }, 341 | "delayed-stream": { 342 | "version": "1.0.0", 343 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 344 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 345 | "dev": true, 346 | "optional": true 347 | }, 348 | "dom-serializer": { 349 | "version": "0.1.0", 350 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", 351 | "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", 352 | "dev": true, 353 | "requires": { 354 | "domelementtype": "~1.1.1", 355 | "entities": "~1.1.1" 356 | }, 357 | "dependencies": { 358 | "domelementtype": { 359 | "version": "1.1.3", 360 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", 361 | "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", 362 | "dev": true 363 | }, 364 | "entities": { 365 | "version": "1.1.1", 366 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", 367 | "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", 368 | "dev": true 369 | } 370 | } 371 | }, 372 | "domelementtype": { 373 | "version": "1.3.0", 374 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", 375 | "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", 376 | "dev": true 377 | }, 378 | "domhandler": { 379 | "version": "2.3.0", 380 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", 381 | "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", 382 | "dev": true, 383 | "requires": { 384 | "domelementtype": "1" 385 | } 386 | }, 387 | "domutils": { 388 | "version": "1.5.1", 389 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", 390 | "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", 391 | "dev": true, 392 | "requires": { 393 | "dom-serializer": "0", 394 | "domelementtype": "1" 395 | } 396 | }, 397 | "ecc-jsbn": { 398 | "version": "0.1.1", 399 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 400 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 401 | "dev": true, 402 | "optional": true, 403 | "requires": { 404 | "jsbn": "~0.1.0" 405 | } 406 | }, 407 | "entities": { 408 | "version": "1.0.0", 409 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", 410 | "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", 411 | "dev": true 412 | }, 413 | "errno": { 414 | "version": "0.1.7", 415 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", 416 | "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", 417 | "dev": true, 418 | "optional": true, 419 | "requires": { 420 | "prr": "~1.0.1" 421 | } 422 | }, 423 | "error-ex": { 424 | "version": "1.3.2", 425 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 426 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 427 | "dev": true, 428 | "requires": { 429 | "is-arrayish": "^0.2.1" 430 | } 431 | }, 432 | "es-abstract": { 433 | "version": "1.13.0", 434 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", 435 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", 436 | "dev": true, 437 | "requires": { 438 | "es-to-primitive": "^1.2.0", 439 | "function-bind": "^1.1.1", 440 | "has": "^1.0.3", 441 | "is-callable": "^1.1.4", 442 | "is-regex": "^1.0.4", 443 | "object-keys": "^1.0.12" 444 | } 445 | }, 446 | "es-to-primitive": { 447 | "version": "1.2.0", 448 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 449 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 450 | "dev": true, 451 | "requires": { 452 | "is-callable": "^1.1.4", 453 | "is-date-object": "^1.0.1", 454 | "is-symbol": "^1.0.2" 455 | } 456 | }, 457 | "escape-string-regexp": { 458 | "version": "1.0.5", 459 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 460 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 461 | "dev": true 462 | }, 463 | "exec-sh": { 464 | "version": "0.2.1", 465 | "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", 466 | "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", 467 | "dev": true, 468 | "requires": { 469 | "merge": "^1.1.3" 470 | } 471 | }, 472 | "exit": { 473 | "version": "0.1.2", 474 | "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", 475 | "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", 476 | "dev": true 477 | }, 478 | "extend": { 479 | "version": "3.0.2", 480 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 481 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 482 | "dev": true, 483 | "optional": true 484 | }, 485 | "extsprintf": { 486 | "version": "1.3.0", 487 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 488 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 489 | "dev": true, 490 | "optional": true 491 | }, 492 | "forever-agent": { 493 | "version": "0.6.1", 494 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 495 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 496 | "dev": true, 497 | "optional": true 498 | }, 499 | "form-data": { 500 | "version": "2.1.4", 501 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 502 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 503 | "dev": true, 504 | "optional": true, 505 | "requires": { 506 | "asynckit": "^0.4.0", 507 | "combined-stream": "^1.0.5", 508 | "mime-types": "^2.1.12" 509 | } 510 | }, 511 | "fs.realpath": { 512 | "version": "1.0.0", 513 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 514 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 515 | "dev": true 516 | }, 517 | "function-bind": { 518 | "version": "1.1.1", 519 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 520 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 521 | "dev": true 522 | }, 523 | "getpass": { 524 | "version": "0.1.7", 525 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 526 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 527 | "dev": true, 528 | "optional": true, 529 | "requires": { 530 | "assert-plus": "^1.0.0" 531 | }, 532 | "dependencies": { 533 | "assert-plus": { 534 | "version": "1.0.0", 535 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 536 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 537 | "dev": true, 538 | "optional": true 539 | } 540 | } 541 | }, 542 | "glob": { 543 | "version": "7.1.2", 544 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 545 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 546 | "dev": true, 547 | "requires": { 548 | "fs.realpath": "^1.0.0", 549 | "inflight": "^1.0.4", 550 | "inherits": "2", 551 | "minimatch": "^3.0.4", 552 | "once": "^1.3.0", 553 | "path-is-absolute": "^1.0.0" 554 | } 555 | }, 556 | "graceful-fs": { 557 | "version": "4.1.11", 558 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 559 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 560 | "dev": true 561 | }, 562 | "graceful-readlink": { 563 | "version": "1.0.1", 564 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 565 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", 566 | "dev": true 567 | }, 568 | "har-schema": { 569 | "version": "1.0.5", 570 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", 571 | "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", 572 | "dev": true, 573 | "optional": true 574 | }, 575 | "har-validator": { 576 | "version": "4.2.1", 577 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", 578 | "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", 579 | "dev": true, 580 | "optional": true, 581 | "requires": { 582 | "ajv": "^4.9.1", 583 | "har-schema": "^1.0.5" 584 | } 585 | }, 586 | "has": { 587 | "version": "1.0.3", 588 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 589 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 590 | "dev": true, 591 | "requires": { 592 | "function-bind": "^1.1.1" 593 | } 594 | }, 595 | "has-flag": { 596 | "version": "3.0.0", 597 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 598 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 599 | "dev": true 600 | }, 601 | "has-symbols": { 602 | "version": "1.0.0", 603 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 604 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 605 | "dev": true 606 | }, 607 | "hawk": { 608 | "version": "3.1.3", 609 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 610 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 611 | "dev": true, 612 | "optional": true, 613 | "requires": { 614 | "boom": "2.x.x", 615 | "cryptiles": "2.x.x", 616 | "hoek": "2.x.x", 617 | "sntp": "1.x.x" 618 | } 619 | }, 620 | "hoek": { 621 | "version": "2.16.3", 622 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 623 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 624 | "dev": true, 625 | "optional": true 626 | }, 627 | "hosted-git-info": { 628 | "version": "2.7.1", 629 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", 630 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", 631 | "dev": true 632 | }, 633 | "htmlparser2": { 634 | "version": "3.8.3", 635 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", 636 | "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", 637 | "dev": true, 638 | "requires": { 639 | "domelementtype": "1", 640 | "domhandler": "2.3", 641 | "domutils": "1.5", 642 | "entities": "1.0", 643 | "readable-stream": "1.1" 644 | } 645 | }, 646 | "http-signature": { 647 | "version": "1.1.1", 648 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 649 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 650 | "dev": true, 651 | "optional": true, 652 | "requires": { 653 | "assert-plus": "^0.2.0", 654 | "jsprim": "^1.2.2", 655 | "sshpk": "^1.7.0" 656 | } 657 | }, 658 | "image-size": { 659 | "version": "0.5.5", 660 | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", 661 | "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", 662 | "dev": true, 663 | "optional": true 664 | }, 665 | "inflight": { 666 | "version": "1.0.6", 667 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 668 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 669 | "dev": true, 670 | "requires": { 671 | "once": "^1.3.0", 672 | "wrappy": "1" 673 | } 674 | }, 675 | "inherits": { 676 | "version": "2.0.3", 677 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 678 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 679 | "dev": true 680 | }, 681 | "is-arrayish": { 682 | "version": "0.2.1", 683 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 684 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 685 | "dev": true 686 | }, 687 | "is-buffer": { 688 | "version": "1.1.6", 689 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 690 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 691 | "dev": true 692 | }, 693 | "is-callable": { 694 | "version": "1.1.4", 695 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 696 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 697 | "dev": true 698 | }, 699 | "is-date-object": { 700 | "version": "1.0.1", 701 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 702 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 703 | "dev": true 704 | }, 705 | "is-regex": { 706 | "version": "1.0.4", 707 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 708 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 709 | "dev": true, 710 | "requires": { 711 | "has": "^1.0.1" 712 | } 713 | }, 714 | "is-symbol": { 715 | "version": "1.0.2", 716 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 717 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 718 | "dev": true, 719 | "requires": { 720 | "has-symbols": "^1.0.0" 721 | } 722 | }, 723 | "is-typedarray": { 724 | "version": "1.0.0", 725 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 726 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 727 | "dev": true, 728 | "optional": true 729 | }, 730 | "isarray": { 731 | "version": "0.0.1", 732 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 733 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 734 | "dev": true 735 | }, 736 | "isexe": { 737 | "version": "2.0.0", 738 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 739 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 740 | "dev": true 741 | }, 742 | "isstream": { 743 | "version": "0.1.2", 744 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 745 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 746 | "dev": true, 747 | "optional": true 748 | }, 749 | "jsbn": { 750 | "version": "0.1.1", 751 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 752 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 753 | "dev": true, 754 | "optional": true 755 | }, 756 | "jshint": { 757 | "version": "2.9.5", 758 | "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", 759 | "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", 760 | "dev": true, 761 | "requires": { 762 | "cli": "~1.0.0", 763 | "console-browserify": "1.1.x", 764 | "exit": "0.1.x", 765 | "htmlparser2": "3.8.x", 766 | "lodash": "3.7.x", 767 | "minimatch": "~3.0.2", 768 | "shelljs": "0.3.x", 769 | "strip-json-comments": "1.0.x" 770 | } 771 | }, 772 | "json-parse-better-errors": { 773 | "version": "1.0.2", 774 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 775 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 776 | "dev": true 777 | }, 778 | "json-schema": { 779 | "version": "0.2.3", 780 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 781 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 782 | "dev": true, 783 | "optional": true 784 | }, 785 | "json-stable-stringify": { 786 | "version": "1.0.1", 787 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 788 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 789 | "dev": true, 790 | "optional": true, 791 | "requires": { 792 | "jsonify": "~0.0.0" 793 | } 794 | }, 795 | "json-stringify-safe": { 796 | "version": "5.0.1", 797 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 798 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 799 | "dev": true, 800 | "optional": true 801 | }, 802 | "jsonify": { 803 | "version": "0.0.0", 804 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 805 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 806 | "dev": true 807 | }, 808 | "jsprim": { 809 | "version": "1.4.1", 810 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 811 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 812 | "dev": true, 813 | "optional": true, 814 | "requires": { 815 | "assert-plus": "1.0.0", 816 | "extsprintf": "1.3.0", 817 | "json-schema": "0.2.3", 818 | "verror": "1.10.0" 819 | }, 820 | "dependencies": { 821 | "assert-plus": { 822 | "version": "1.0.0", 823 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 824 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 825 | "dev": true, 826 | "optional": true 827 | } 828 | } 829 | }, 830 | "kind-of": { 831 | "version": "3.2.2", 832 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 833 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 834 | "dev": true, 835 | "requires": { 836 | "is-buffer": "^1.1.5" 837 | } 838 | }, 839 | "lazy-cache": { 840 | "version": "1.0.4", 841 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", 842 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", 843 | "dev": true 844 | }, 845 | "less": { 846 | "version": "2.7.3", 847 | "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", 848 | "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", 849 | "dev": true, 850 | "requires": { 851 | "errno": "^0.1.1", 852 | "graceful-fs": "^4.1.2", 853 | "image-size": "~0.5.0", 854 | "mime": "^1.2.11", 855 | "mkdirp": "^0.5.0", 856 | "promise": "^7.1.1", 857 | "request": "2.81.0", 858 | "source-map": "^0.5.3" 859 | } 860 | }, 861 | "less-plugin-clean-css": { 862 | "version": "1.5.1", 863 | "resolved": "https://registry.npmjs.org/less-plugin-clean-css/-/less-plugin-clean-css-1.5.1.tgz", 864 | "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=", 865 | "dev": true, 866 | "requires": { 867 | "clean-css": "^3.0.1" 868 | } 869 | }, 870 | "load-json-file": { 871 | "version": "4.0.0", 872 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 873 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 874 | "dev": true, 875 | "requires": { 876 | "graceful-fs": "^4.1.2", 877 | "parse-json": "^4.0.0", 878 | "pify": "^3.0.0", 879 | "strip-bom": "^3.0.0" 880 | } 881 | }, 882 | "lodash": { 883 | "version": "3.7.0", 884 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", 885 | "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", 886 | "dev": true 887 | }, 888 | "longest": { 889 | "version": "1.0.1", 890 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", 891 | "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", 892 | "dev": true 893 | }, 894 | "memorystream": { 895 | "version": "0.3.1", 896 | "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", 897 | "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", 898 | "dev": true 899 | }, 900 | "merge": { 901 | "version": "1.2.1", 902 | "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", 903 | "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", 904 | "dev": true 905 | }, 906 | "mime": { 907 | "version": "1.6.0", 908 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 909 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 910 | "dev": true, 911 | "optional": true 912 | }, 913 | "mime-db": { 914 | "version": "1.33.0", 915 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", 916 | "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", 917 | "dev": true, 918 | "optional": true 919 | }, 920 | "mime-types": { 921 | "version": "2.1.18", 922 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", 923 | "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", 924 | "dev": true, 925 | "optional": true, 926 | "requires": { 927 | "mime-db": "~1.33.0" 928 | } 929 | }, 930 | "minimatch": { 931 | "version": "3.0.4", 932 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 933 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 934 | "dev": true, 935 | "requires": { 936 | "brace-expansion": "^1.1.7" 937 | } 938 | }, 939 | "minimist": { 940 | "version": "0.0.8", 941 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 942 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 943 | "dev": true, 944 | "optional": true 945 | }, 946 | "mkdirp": { 947 | "version": "0.5.1", 948 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 949 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 950 | "dev": true, 951 | "optional": true, 952 | "requires": { 953 | "minimist": "0.0.8" 954 | } 955 | }, 956 | "nice-try": { 957 | "version": "1.0.5", 958 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 959 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 960 | "dev": true 961 | }, 962 | "normalize-package-data": { 963 | "version": "2.5.0", 964 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 965 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 966 | "dev": true, 967 | "requires": { 968 | "hosted-git-info": "^2.1.4", 969 | "resolve": "^1.10.0", 970 | "semver": "2 || 3 || 4 || 5", 971 | "validate-npm-package-license": "^3.0.1" 972 | } 973 | }, 974 | "npm-run-all": { 975 | "version": "4.1.5", 976 | "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", 977 | "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", 978 | "dev": true, 979 | "requires": { 980 | "ansi-styles": "^3.2.1", 981 | "chalk": "^2.4.1", 982 | "cross-spawn": "^6.0.5", 983 | "memorystream": "^0.3.1", 984 | "minimatch": "^3.0.4", 985 | "pidtree": "^0.3.0", 986 | "read-pkg": "^3.0.0", 987 | "shell-quote": "^1.6.1", 988 | "string.prototype.padend": "^3.0.0" 989 | } 990 | }, 991 | "oauth-sign": { 992 | "version": "0.8.2", 993 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 994 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 995 | "dev": true, 996 | "optional": true 997 | }, 998 | "object-keys": { 999 | "version": "1.1.1", 1000 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1001 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1002 | "dev": true 1003 | }, 1004 | "once": { 1005 | "version": "1.4.0", 1006 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1007 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1008 | "dev": true, 1009 | "requires": { 1010 | "wrappy": "1" 1011 | } 1012 | }, 1013 | "parse-json": { 1014 | "version": "4.0.0", 1015 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 1016 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 1017 | "dev": true, 1018 | "requires": { 1019 | "error-ex": "^1.3.1", 1020 | "json-parse-better-errors": "^1.0.1" 1021 | } 1022 | }, 1023 | "path-is-absolute": { 1024 | "version": "1.0.1", 1025 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1026 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1027 | "dev": true 1028 | }, 1029 | "path-key": { 1030 | "version": "2.0.1", 1031 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1032 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 1033 | "dev": true 1034 | }, 1035 | "path-parse": { 1036 | "version": "1.0.6", 1037 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 1038 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 1039 | "dev": true 1040 | }, 1041 | "path-type": { 1042 | "version": "3.0.0", 1043 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 1044 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 1045 | "dev": true, 1046 | "requires": { 1047 | "pify": "^3.0.0" 1048 | } 1049 | }, 1050 | "performance-now": { 1051 | "version": "0.2.0", 1052 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", 1053 | "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", 1054 | "dev": true, 1055 | "optional": true 1056 | }, 1057 | "pidtree": { 1058 | "version": "0.3.0", 1059 | "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", 1060 | "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", 1061 | "dev": true 1062 | }, 1063 | "pify": { 1064 | "version": "3.0.0", 1065 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1066 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 1067 | "dev": true 1068 | }, 1069 | "promise": { 1070 | "version": "7.3.1", 1071 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", 1072 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", 1073 | "dev": true, 1074 | "optional": true, 1075 | "requires": { 1076 | "asap": "~2.0.3" 1077 | } 1078 | }, 1079 | "prr": { 1080 | "version": "1.0.1", 1081 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 1082 | "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", 1083 | "dev": true, 1084 | "optional": true 1085 | }, 1086 | "punycode": { 1087 | "version": "1.4.1", 1088 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1089 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 1090 | "dev": true, 1091 | "optional": true 1092 | }, 1093 | "qs": { 1094 | "version": "6.4.0", 1095 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", 1096 | "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", 1097 | "dev": true, 1098 | "optional": true 1099 | }, 1100 | "read-pkg": { 1101 | "version": "3.0.0", 1102 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 1103 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 1104 | "dev": true, 1105 | "requires": { 1106 | "load-json-file": "^4.0.0", 1107 | "normalize-package-data": "^2.3.2", 1108 | "path-type": "^3.0.0" 1109 | } 1110 | }, 1111 | "readable-stream": { 1112 | "version": "1.1.14", 1113 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 1114 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 1115 | "dev": true, 1116 | "requires": { 1117 | "core-util-is": "~1.0.0", 1118 | "inherits": "~2.0.1", 1119 | "isarray": "0.0.1", 1120 | "string_decoder": "~0.10.x" 1121 | } 1122 | }, 1123 | "repeat-string": { 1124 | "version": "1.6.1", 1125 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1126 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 1127 | "dev": true 1128 | }, 1129 | "request": { 1130 | "version": "2.81.0", 1131 | "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", 1132 | "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", 1133 | "dev": true, 1134 | "optional": true, 1135 | "requires": { 1136 | "aws-sign2": "~0.6.0", 1137 | "aws4": "^1.2.1", 1138 | "caseless": "~0.12.0", 1139 | "combined-stream": "~1.0.5", 1140 | "extend": "~3.0.0", 1141 | "forever-agent": "~0.6.1", 1142 | "form-data": "~2.1.1", 1143 | "har-validator": "~4.2.1", 1144 | "hawk": "~3.1.3", 1145 | "http-signature": "~1.1.0", 1146 | "is-typedarray": "~1.0.0", 1147 | "isstream": "~0.1.2", 1148 | "json-stringify-safe": "~5.0.1", 1149 | "mime-types": "~2.1.7", 1150 | "oauth-sign": "~0.8.1", 1151 | "performance-now": "^0.2.0", 1152 | "qs": "~6.4.0", 1153 | "safe-buffer": "^5.0.1", 1154 | "stringstream": "~0.0.4", 1155 | "tough-cookie": "~2.3.0", 1156 | "tunnel-agent": "^0.6.0", 1157 | "uuid": "^3.0.0" 1158 | } 1159 | }, 1160 | "resolve": { 1161 | "version": "1.11.0", 1162 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", 1163 | "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", 1164 | "dev": true, 1165 | "requires": { 1166 | "path-parse": "^1.0.6" 1167 | } 1168 | }, 1169 | "right-align": { 1170 | "version": "0.1.3", 1171 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", 1172 | "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", 1173 | "dev": true, 1174 | "requires": { 1175 | "align-text": "^0.1.1" 1176 | } 1177 | }, 1178 | "rimraf": { 1179 | "version": "2.6.2", 1180 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 1181 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 1182 | "dev": true, 1183 | "requires": { 1184 | "glob": "^7.0.5" 1185 | } 1186 | }, 1187 | "safe-buffer": { 1188 | "version": "5.1.2", 1189 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1190 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1191 | "dev": true, 1192 | "optional": true 1193 | }, 1194 | "semver": { 1195 | "version": "5.7.0", 1196 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", 1197 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", 1198 | "dev": true 1199 | }, 1200 | "shebang-command": { 1201 | "version": "1.2.0", 1202 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1203 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1204 | "dev": true, 1205 | "requires": { 1206 | "shebang-regex": "^1.0.0" 1207 | } 1208 | }, 1209 | "shebang-regex": { 1210 | "version": "1.0.0", 1211 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1212 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1213 | "dev": true 1214 | }, 1215 | "shell-quote": { 1216 | "version": "1.6.1", 1217 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", 1218 | "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", 1219 | "dev": true, 1220 | "requires": { 1221 | "array-filter": "~0.0.0", 1222 | "array-map": "~0.0.0", 1223 | "array-reduce": "~0.0.0", 1224 | "jsonify": "~0.0.0" 1225 | } 1226 | }, 1227 | "shelljs": { 1228 | "version": "0.3.0", 1229 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", 1230 | "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", 1231 | "dev": true 1232 | }, 1233 | "sntp": { 1234 | "version": "1.0.9", 1235 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 1236 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 1237 | "dev": true, 1238 | "optional": true, 1239 | "requires": { 1240 | "hoek": "2.x.x" 1241 | } 1242 | }, 1243 | "source-map": { 1244 | "version": "0.5.7", 1245 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1246 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1247 | "dev": true 1248 | }, 1249 | "spdx-correct": { 1250 | "version": "3.1.0", 1251 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 1252 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 1253 | "dev": true, 1254 | "requires": { 1255 | "spdx-expression-parse": "^3.0.0", 1256 | "spdx-license-ids": "^3.0.0" 1257 | } 1258 | }, 1259 | "spdx-exceptions": { 1260 | "version": "2.2.0", 1261 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 1262 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", 1263 | "dev": true 1264 | }, 1265 | "spdx-expression-parse": { 1266 | "version": "3.0.0", 1267 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 1268 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 1269 | "dev": true, 1270 | "requires": { 1271 | "spdx-exceptions": "^2.1.0", 1272 | "spdx-license-ids": "^3.0.0" 1273 | } 1274 | }, 1275 | "spdx-license-ids": { 1276 | "version": "3.0.4", 1277 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", 1278 | "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", 1279 | "dev": true 1280 | }, 1281 | "sshpk": { 1282 | "version": "1.14.1", 1283 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", 1284 | "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", 1285 | "dev": true, 1286 | "optional": true, 1287 | "requires": { 1288 | "asn1": "~0.2.3", 1289 | "assert-plus": "^1.0.0", 1290 | "bcrypt-pbkdf": "^1.0.0", 1291 | "dashdash": "^1.12.0", 1292 | "ecc-jsbn": "~0.1.1", 1293 | "getpass": "^0.1.1", 1294 | "jsbn": "~0.1.0", 1295 | "tweetnacl": "~0.14.0" 1296 | }, 1297 | "dependencies": { 1298 | "assert-plus": { 1299 | "version": "1.0.0", 1300 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1301 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1302 | "dev": true, 1303 | "optional": true 1304 | } 1305 | } 1306 | }, 1307 | "string.prototype.padend": { 1308 | "version": "3.0.0", 1309 | "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", 1310 | "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", 1311 | "dev": true, 1312 | "requires": { 1313 | "define-properties": "^1.1.2", 1314 | "es-abstract": "^1.4.3", 1315 | "function-bind": "^1.0.2" 1316 | } 1317 | }, 1318 | "string_decoder": { 1319 | "version": "0.10.31", 1320 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 1321 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 1322 | "dev": true 1323 | }, 1324 | "stringstream": { 1325 | "version": "0.0.6", 1326 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", 1327 | "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", 1328 | "dev": true, 1329 | "optional": true 1330 | }, 1331 | "strip-bom": { 1332 | "version": "3.0.0", 1333 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1334 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 1335 | "dev": true 1336 | }, 1337 | "strip-json-comments": { 1338 | "version": "1.0.4", 1339 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", 1340 | "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", 1341 | "dev": true 1342 | }, 1343 | "supports-color": { 1344 | "version": "5.5.0", 1345 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1346 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1347 | "dev": true, 1348 | "requires": { 1349 | "has-flag": "^3.0.0" 1350 | } 1351 | }, 1352 | "taffydb": { 1353 | "version": "2.7.3", 1354 | "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", 1355 | "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=" 1356 | }, 1357 | "tough-cookie": { 1358 | "version": "2.3.4", 1359 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", 1360 | "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", 1361 | "dev": true, 1362 | "optional": true, 1363 | "requires": { 1364 | "punycode": "^1.4.1" 1365 | } 1366 | }, 1367 | "tunnel-agent": { 1368 | "version": "0.6.0", 1369 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1370 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1371 | "dev": true, 1372 | "optional": true, 1373 | "requires": { 1374 | "safe-buffer": "^5.0.1" 1375 | } 1376 | }, 1377 | "tweetnacl": { 1378 | "version": "0.14.5", 1379 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1380 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 1381 | "dev": true, 1382 | "optional": true 1383 | }, 1384 | "uglify-js": { 1385 | "version": "2.8.29", 1386 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", 1387 | "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", 1388 | "dev": true, 1389 | "requires": { 1390 | "source-map": "~0.5.1", 1391 | "uglify-to-browserify": "~1.0.0", 1392 | "yargs": "~3.10.0" 1393 | } 1394 | }, 1395 | "uglify-to-browserify": { 1396 | "version": "1.0.2", 1397 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", 1398 | "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", 1399 | "dev": true, 1400 | "optional": true 1401 | }, 1402 | "underscore": { 1403 | "version": "1.9.0", 1404 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.0.tgz", 1405 | "integrity": "sha512-4IV1DSSxC1QK48j9ONFK1MoIAKKkbE8i7u55w2R6IqBqbT7A/iG7aZBCR2Bi8piF0Uz+i/MG1aeqLwl/5vqF+A==" 1406 | }, 1407 | "uuid": { 1408 | "version": "3.2.1", 1409 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", 1410 | "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", 1411 | "dev": true, 1412 | "optional": true 1413 | }, 1414 | "validate-npm-package-license": { 1415 | "version": "3.0.4", 1416 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 1417 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 1418 | "dev": true, 1419 | "requires": { 1420 | "spdx-correct": "^3.0.0", 1421 | "spdx-expression-parse": "^3.0.0" 1422 | } 1423 | }, 1424 | "verror": { 1425 | "version": "1.10.0", 1426 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1427 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 1428 | "dev": true, 1429 | "optional": true, 1430 | "requires": { 1431 | "assert-plus": "^1.0.0", 1432 | "core-util-is": "1.0.2", 1433 | "extsprintf": "^1.2.0" 1434 | }, 1435 | "dependencies": { 1436 | "assert-plus": { 1437 | "version": "1.0.0", 1438 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1439 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1440 | "dev": true, 1441 | "optional": true 1442 | } 1443 | } 1444 | }, 1445 | "watch": { 1446 | "version": "1.0.2", 1447 | "resolved": "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz", 1448 | "integrity": "sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=", 1449 | "dev": true, 1450 | "requires": { 1451 | "exec-sh": "^0.2.0", 1452 | "minimist": "^1.2.0" 1453 | }, 1454 | "dependencies": { 1455 | "minimist": { 1456 | "version": "1.2.0", 1457 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1458 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1459 | "dev": true 1460 | } 1461 | } 1462 | }, 1463 | "which": { 1464 | "version": "1.3.1", 1465 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1466 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1467 | "dev": true, 1468 | "requires": { 1469 | "isexe": "^2.0.0" 1470 | } 1471 | }, 1472 | "window-size": { 1473 | "version": "0.1.0", 1474 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", 1475 | "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", 1476 | "dev": true 1477 | }, 1478 | "wordwrap": { 1479 | "version": "0.0.2", 1480 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", 1481 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", 1482 | "dev": true 1483 | }, 1484 | "wrappy": { 1485 | "version": "1.0.2", 1486 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1487 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1488 | "dev": true 1489 | }, 1490 | "yargs": { 1491 | "version": "3.10.0", 1492 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", 1493 | "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", 1494 | "dev": true, 1495 | "requires": { 1496 | "camelcase": "^1.0.2", 1497 | "cliui": "^2.1.0", 1498 | "decamelize": "^1.0.0", 1499 | "window-size": "0.1.0" 1500 | } 1501 | } 1502 | } 1503 | } 1504 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@pixi/jsdoc-template", 3 | "version": "2.6.0", 4 | "description": "PixiJS template for JSDoc 3", 5 | "dependencies": { 6 | "taffydb": "^2.7.2", 7 | "underscore": "^1.7.0" 8 | }, 9 | "devDependencies": { 10 | "jshint": "^2.9.2", 11 | "less": "^2.7.1", 12 | "less-plugin-clean-css": "^1.5.1", 13 | "npm-run-all": "^4.1.5", 14 | "rimraf": "^2.5.2", 15 | "uglify-js": "^2.6.2", 16 | "watch": "^1.0.2" 17 | }, 18 | "scripts": { 19 | "clean": "rimraf static/**/main.*", 20 | "lint": "jshint plugins publish.js src/scripts/*.js", 21 | "build": "run-s clean lint build:*", 22 | "watch": "run-p watch:*", 23 | "build:js": "uglifyjs src/scripts/*.js -m -o static/scripts/main.js", 24 | "watch:js": "watch 'npm run build:js' src/scripts", 25 | "build:css": "lessc src/styles/index.less static/styles/main.css --clean-css", 26 | "watch:css": "watch 'npm run build:css' src/styles", 27 | "test": "npm run build", 28 | "postversion": "git push && git push --tags", 29 | "prepublish": "run-s build" 30 | }, 31 | "repository": { 32 | "type": "git", 33 | "url": "git://github.com/pixijs/pixi-jsdoc-template.git" 34 | }, 35 | "keywords": [ 36 | "jsdoc", 37 | "jsdoc3", 38 | "pixi.js", 39 | "pixi", 40 | "pixijs", 41 | "template" 42 | ], 43 | "files": [ 44 | "static", 45 | "tmpl", 46 | "publish.js", 47 | "plugins" 48 | ], 49 | "author": "Matt Karl ", 50 | "license": "MIT", 51 | "readmeFilename": "README.md", 52 | "bugs": { 53 | "url": "https://github.com/pixijs/pixi-jsdoc-template/issues" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /plugins/es6-fix.js: -------------------------------------------------------------------------------- 1 | // JSDoc has issues getting the name of `export default class NAME {}` 2 | // this gross regex hacks around that issue until it is fixed. 3 | // See: https://github.com/jsdoc3/jsdoc/issues/1137#issuecomment-174829004 4 | 5 | var rgxGross = /(\/\*{2}[\W\w]+?\*\/)\s*export\s+class\s+([^\s]*)/g; 6 | var rgxGrossDefault = /(\/\*{2}[\W\w]+?\*\/)\s*export\s+default\s+class\s+([^\s]*)/g; 7 | var grossReplace = 'export default $2;\n\n$1\nclass $2'; 8 | 9 | // JSDoc has issues with expressing member properties within a class 10 | // this is another terrible hack to address this issue. 11 | // See: https://github.com/jsdoc3/jsdoc/issues/1301 12 | 13 | var rgxMember = /(\@member \{[^\}]+\})(\n[^\/]+\/[\b\s]+)(this\.([^\s]+))/g; 14 | var rgxClassName = /export (default )?class (.+?)\s/; 15 | var rgxNamespace = /\@memberof ([\.a-zA-Z0-9]+)\s/; 16 | 17 | exports.handlers = { 18 | /** 19 | * Called before parsing a file, giving us a change to replace the source. 20 | * 21 | * @param {*} e - The `beforeParse` event data. 22 | * @param {string} e.filename - The name of the file being parsed. 23 | * @param {string} e.source - The source of the file being parsed. 24 | */ 25 | beforeParse: function beforeParse(e) 26 | { 27 | var namespace = e.source.match(rgxNamespace); 28 | var className = e.source.match(rgxClassName); 29 | 30 | // Fix members not showing up attached to class 31 | if (namespace && className) 32 | { 33 | // Replaces "@member {Type}"" with "@member {Type} PIXI.ClassName#prop" 34 | e.source = e.source.replace(rgxMember, '$1 '+ namespace[1] + '.' + className[2] + '#$4$2$3'); 35 | } 36 | 37 | if(e.source.match(rgxGrossDefault)) 38 | { 39 | e.source = e.source.replace(rgxGrossDefault, grossReplace); 40 | } 41 | else 42 | { 43 | e.source = e.source.replace(rgxGross, grossReplace); 44 | } 45 | }, 46 | }; 47 | -------------------------------------------------------------------------------- /publish.js: -------------------------------------------------------------------------------- 1 | /*global env: true */ 2 | var template = require('jsdoc/template'), 3 | fs = require('jsdoc/fs'), 4 | path = require('jsdoc/path'), 5 | taffy = require('taffydb').taffy, 6 | handle = require('jsdoc/util/error').handle, 7 | helper = require('jsdoc/util/templateHelper'), 8 | _ = require('underscore'), 9 | htmlsafe = helper.htmlsafe, 10 | linkto = helper.linkto, 11 | resolveAuthorLinks = helper.resolveAuthorLinks, 12 | scopeToPunc = helper.scopeToPunc, 13 | hasOwnProp = Object.prototype.hasOwnProperty, 14 | data, 15 | view, 16 | outdir = env.opts.destination, 17 | faviconTypes = { 18 | '.ico': 'image/x-icon', 19 | '.png': 'image/png', 20 | '.jpg': 'image/jpeg', 21 | '.jpeg': 'image/jpeg', 22 | '.gif': 'image/gif' 23 | }; 24 | 25 | function find(spec) { 26 | return helper.find(data, spec); 27 | } 28 | 29 | function tutoriallink(tutorial) { 30 | return helper.toTutorial(tutorial, null, { tag: 'em', classname: 'disabled', prefix: 'Tutorial: ' }); 31 | } 32 | 33 | function getAncestorLinks(doclet) { 34 | return helper.getAncestorLinks(data, doclet); 35 | } 36 | 37 | function hashToLink(doclet, hash) { 38 | if ( !/^(#.+)/.test(hash) ) { return hash; } 39 | 40 | var url = helper.createLink(doclet); 41 | 42 | url = url.replace(/(#.+|$)/, hash); 43 | return '' + hash + ''; 44 | } 45 | 46 | function needsSignature(doclet) { 47 | var needsSig = false; 48 | 49 | // function and class definitions always get a signature 50 | if (doclet.kind === 'function' || doclet.kind === 'class') { 51 | needsSig = true; 52 | } 53 | // typedefs that contain functions get a signature, too 54 | else if ((doclet.kind === 'typedef' || doclet.kind === 'interface') && doclet.type && doclet.type.names && 55 | doclet.type.names.length) { 56 | for (var i = 0, l = doclet.type.names.length; i < l; i++) { 57 | if (doclet.type.names[i].toLowerCase() === 'function') { 58 | needsSig = true; 59 | break; 60 | } 61 | } 62 | } 63 | 64 | return needsSig; 65 | } 66 | 67 | function addSignatureParams(f) { 68 | var params = helper.getSignatureParams(f, 'optional'); 69 | 70 | f.signature = (f.signature || '') + '('+params.join(', ')+')'; 71 | } 72 | 73 | function addSignatureReturns(f) { 74 | var returnTypes = helper.getSignatureReturns(f); 75 | 76 | f.signature = ''+(f.signature || '') + ''; 77 | 78 | if (returnTypes.length) { 79 | f.signature += ''+(returnTypes.length ? returnTypes.join(' | ') : '')+''; 80 | } 81 | } 82 | 83 | function addSignatureTypes(f) { 84 | var types = helper.getSignatureTypes(f); 85 | f.signature = (f.signature || '') + ''+(types.length? ' :'+types.join('|') : '')+''; 86 | } 87 | 88 | function addAttribs(f) { 89 | var attribs = helper.getAttribs(f); 90 | 91 | if (attribs.length) { 92 | f.attribs = ''; 93 | attribs.forEach(function(a) { 94 | f.attribs += '' + htmlsafe(a) + ''; 95 | }); 96 | } 97 | } 98 | 99 | function shortenPaths(files, commonPrefix) { 100 | // always use forward slashes 101 | var regexp = new RegExp('\\\\', 'g'); 102 | 103 | Object.keys(files).forEach(function(file) { 104 | files[file].shortened = files[file].resolved.replace(commonPrefix, '') 105 | .replace(regexp, '/'); 106 | }); 107 | 108 | return files; 109 | } 110 | 111 | function resolveSourcePath(filepath) { 112 | return path.resolve(process.cwd(), filepath); 113 | } 114 | 115 | function getPathFromDoclet(doclet) { 116 | if (!doclet.meta) { 117 | return; 118 | } 119 | 120 | var filepath = doclet.meta.path && doclet.meta.path !== 'null' ? 121 | doclet.meta.path + '/' + doclet.meta.filename : 122 | doclet.meta.filename; 123 | 124 | return filepath; 125 | } 126 | 127 | function generate(title, docs, filename, resolveLinks) { 128 | resolveLinks = resolveLinks === false ? false : true; 129 | 130 | var docData = { 131 | filename: filename, 132 | title: title, 133 | docs: docs 134 | }; 135 | 136 | var outpath = path.join(outdir, filename), 137 | html = view.render('container.tmpl', docData); 138 | 139 | if (resolveLinks) { 140 | html = helper.resolveLinks(html); // turn {@link foo} into foo 141 | 142 | // Add a link target for external links @davidshimjs 143 | html = html.toString().replace(/]*href\s*=\s*['"]*[^\s'"]*:\/\/)/ig, '} doclets - The array of classes and functions to 180 | * check. 181 | * @param {Array.} modules - The array of module doclets to search. 182 | */ 183 | function attachModuleSymbols(doclets, modules) { 184 | var symbols = {}; 185 | 186 | // build a lookup table 187 | doclets.forEach(function(symbol) { 188 | symbols[symbol.longname] = symbol; 189 | }); 190 | 191 | return modules.map(function(module) { 192 | if (symbols[module.longname]) { 193 | module.module = symbols[module.longname]; 194 | module.module.name = module.module.name.replace('module:', 'require("') + '")'; 195 | } 196 | }); 197 | } 198 | 199 | /** 200 | * Prepares a tutorial for the navigation sidebar. 201 | * @param {object} tutorial 202 | * @param {object} parent 203 | * @param {object} the tutorial object 204 | */ 205 | function prepareTutorialNav(tutorial,parent) { 206 | var result = { 207 | type: 'tutorial', 208 | name: tutorial.name, 209 | longname: tutorial.longname, 210 | title: tutorial.title, 211 | parent: parent 212 | }; 213 | 214 | result.children = _.map(tutorial.children,function(c) { return prepareTutorialNav(c,tutorial); }); 215 | 216 | return result; 217 | } 218 | 219 | 220 | /** 221 | * Create the navigation sidebar. 222 | * @param {object} members The members that will be used to create the sidebar. 223 | * @param {array} members.classes 224 | * @param {array} members.externals 225 | * @param {array} members.globals 226 | * @param {array} members.mixins 227 | * @param {array} members.modules 228 | * @param {array} members.namespaces 229 | * @param {array} members.tutorials 230 | * @param {array} members.interfaces 231 | * @param {array} members.events 232 | * @return {string} The HTML for the navigation sidebar. 233 | */ 234 | function buildNav(members) { 235 | var nav = []; 236 | 237 | if (members.modules.length) { 238 | _.each(members.modules, function (v) { 239 | nav.push({ 240 | type: 'module', 241 | longname: v.longname, 242 | deprecated: v.deprecated, 243 | name: v.name, 244 | members: find({ 245 | kind: 'member', 246 | memberof: v.longname 247 | }), 248 | methods: find({ 249 | kind: 'function', 250 | memberof: v.longname 251 | }), 252 | typedefs: find({ 253 | kind: 'typedef', 254 | memberof: v.longname 255 | }), 256 | interfaces: find({ 257 | kind: 'interface', 258 | memberof: v.longname 259 | }), 260 | events: find({ 261 | kind: 'event', 262 | memberof: v.longname 263 | }), 264 | classes: find({ 265 | kind: 'class', 266 | memberof: v.longname 267 | }) 268 | }); 269 | }); 270 | } 271 | 272 | if (members.namespaces.length) { 273 | _.each(members.namespaces, function (v) { 274 | nav.push({ 275 | type: 'namespace', 276 | longname: v.longname, 277 | deprecated: v.deprecated, 278 | name: v.name, 279 | members: find({ 280 | kind: 'member', 281 | memberof: v.longname 282 | }), 283 | methods: find({ 284 | kind: 'function', 285 | memberof: v.longname 286 | }), 287 | typedefs: find({ 288 | kind: 'typedef', 289 | memberof: v.longname 290 | }), 291 | interfaces: find({ 292 | kind: 'interface', 293 | memberof: v.longname 294 | }), 295 | events: find({ 296 | kind: 'event', 297 | memberof: v.longname 298 | }), 299 | classes: find({ 300 | kind: 'class', 301 | memberof: v.longname 302 | }) 303 | }); 304 | }); 305 | } 306 | 307 | if (members.globals.length) { 308 | nav.push({ 309 | type: 'namespace', 310 | longname: 'global', 311 | members: members.globals.filter(function(v) { return v.kind === 'member'; }), 312 | methods: members.globals.filter(function(v) { return v.kind === 'function'; }), 313 | typedefs: members.globals.filter(function(v) { return v.kind === 'typedef'; }), 314 | interfaces: members.globals.filter(function(v) { return v.kind === 'interface'; }), 315 | events: members.globals.filter(function(v) { return v.kind === 'event'; }), 316 | classes: members.globals.filter(function(v) { return v.kind === 'class'; }) 317 | }); 318 | } 319 | 320 | if (members.classes.length) { 321 | _.each(members.classes, function (v) { 322 | nav.push({ 323 | type: 'class', 324 | longname: v.longname, 325 | name: v.name, 326 | deprecated: v.deprecated, 327 | members: find({ 328 | kind: 'member', 329 | memberof: v.longname 330 | }), 331 | methods: find({ 332 | kind: 'function', 333 | memberof: v.longname 334 | }), 335 | typedefs: find({ 336 | kind: 'typedef', 337 | memberof: v.longname 338 | }), 339 | interfaces: find({ 340 | kind: 'interface', 341 | memberof: v.longname 342 | }), 343 | events: find({ 344 | kind: 'event', 345 | memberof: v.longname 346 | }) 347 | }); 348 | }); 349 | } 350 | 351 | if (members.tutorials.length) { 352 | _.each(members.tutorials, function(v) { 353 | nav.push(prepareTutorialNav(v)); 354 | }); 355 | } 356 | 357 | return nav; 358 | } 359 | 360 | 361 | /** 362 | @param {TAFFY} taffyData See . 363 | @param {object} opts 364 | @param {Tutorial} tutorials 365 | */ 366 | exports.publish = function(taffyData, opts, tutorials) { 367 | data = taffyData; 368 | 369 | var conf = env.conf.templates || {}; 370 | conf['default'] = conf['default'] || {}; 371 | 372 | var templatePath = opts.template; 373 | view = new template.Template(templatePath + '/tmpl'); 374 | 375 | // claim some special filenames in advance, so the All-Powerful Overseer of Filename Uniqueness 376 | // doesn't try to hand them out later 377 | var indexUrl = helper.getUniqueFilename('index'); 378 | // don't call registerLink() on this one! 'index' is also a valid longname 379 | 380 | var globalUrl = helper.getUniqueFilename('global'); 381 | helper.registerLink('global', globalUrl); 382 | 383 | // set up templating 384 | view.layout = 'layout.tmpl'; 385 | 386 | // set up tutorials for helper 387 | helper.setTutorials(tutorials); 388 | 389 | data = helper.prune(data); 390 | data.sort('longname, version, since'); 391 | helper.addEventListeners(data); 392 | 393 | var sourceFiles = {}; 394 | var sourceFilePaths = []; 395 | data().each(function(doclet) { 396 | doclet.attribs = ''; 397 | 398 | if (doclet.examples) { 399 | doclet.examples = doclet.examples.map(function(example) { 400 | var caption, code; 401 | 402 | if (example.match(/^\s*(?:

)?\s*([\s\S]+?)<\/caption>\s*(?:<\/p>)?[\s\r\n]*([\s\S]+)$/i)) { 403 | caption = RegExp.$1; 404 | code = RegExp.$2; 405 | } 406 | 407 | return { 408 | caption: caption || '', 409 | code: code || example 410 | }; 411 | }); 412 | } 413 | if (doclet.see) { 414 | doclet.see.forEach(function(seeItem, i) { 415 | doclet.see[i] = hashToLink(doclet, seeItem); 416 | }); 417 | } 418 | 419 | // build a list of source files 420 | var sourcePath; 421 | var resolvedSourcePath; 422 | if (doclet.meta) { 423 | sourcePath = getPathFromDoclet(doclet); 424 | resolvedSourcePath = resolveSourcePath(sourcePath); 425 | sourceFiles[sourcePath] = { 426 | resolved: resolvedSourcePath, 427 | shortened: null 428 | }; 429 | sourceFilePaths.push(resolvedSourcePath); 430 | } 431 | }); 432 | 433 | // update outdir if necessary, then create outdir 434 | var packageInfo = ( find({kind: 'package'}) || [] ) [0]; 435 | if (packageInfo && packageInfo.name) { 436 | outdir = path.join(outdir, packageInfo.name, packageInfo.version); 437 | } 438 | fs.mkPath(outdir); 439 | 440 | // copy the template's static files to outdir 441 | var fromDir = path.join(templatePath, 'static'); 442 | var staticFiles = fs.ls(fromDir, 3); 443 | 444 | staticFiles.forEach(function(fileName) { 445 | var toDir = fs.toDir( fileName.replace(fromDir, outdir) ); 446 | fs.mkPath(toDir); 447 | fs.copyFileSync(fileName, toDir); 448 | }); 449 | 450 | // copy user-specified static files to outdir 451 | var staticFilePaths; 452 | var staticFileFilter; 453 | var staticFileScanner; 454 | if (conf.default.staticFiles) { 455 | // The canonical property name is `include`. We accept `paths` for backwards compatibility 456 | // with a bug in JSDoc 3.2.x. 457 | staticFilePaths = conf.default.staticFiles.include || 458 | conf.default.staticFiles.paths || 459 | []; 460 | staticFileFilter = new (require('jsdoc/src/filter').Filter)(conf.default.staticFiles); 461 | staticFileScanner = new (require('jsdoc/src/scanner').Scanner)(); 462 | 463 | staticFilePaths.forEach(function(filePath) { 464 | var extraStaticFiles; 465 | 466 | filePath = path.resolve(env.pwd, filePath); 467 | extraStaticFiles = staticFileScanner.scan([filePath], 10, staticFileFilter); 468 | 469 | extraStaticFiles.forEach(function(fileName) { 470 | var sourcePath = fs.toDir(filePath); 471 | var toDir = fs.toDir( fileName.replace(sourcePath, outdir) ); 472 | 473 | fs.mkPath(toDir); 474 | fs.copyFileSync(fileName, toDir); 475 | }); 476 | }); 477 | } 478 | 479 | // copy the favicon 480 | if (conf.favicon) { 481 | var stats = fs.lstatSync(conf.favicon); 482 | if (stats.isFile()) { 483 | var extname = path.extname(conf.favicon); 484 | fs.copyFileSync(conf.favicon, outdir, 'favicon' + extname); 485 | conf.favicon = 'favicon' + extname; 486 | conf.faviconType = faviconTypes[extname]; 487 | } 488 | else { 489 | delete conf.favicon; 490 | } 491 | } 492 | 493 | if (sourceFilePaths.length) { 494 | sourceFiles = shortenPaths( sourceFiles, path.commonPrefix(sourceFilePaths) ); 495 | } 496 | data().each(function(doclet) { 497 | var url = helper.createLink(doclet); 498 | helper.registerLink(doclet.longname, url); 499 | 500 | // replace the filename with a shortened version of the full path 501 | var docletPath; 502 | if (doclet.meta) { 503 | docletPath = getPathFromDoclet(doclet); 504 | docletPath = sourceFiles[docletPath].shortened; 505 | if (docletPath) { 506 | doclet.meta.filename = docletPath; 507 | } 508 | } 509 | }); 510 | 511 | data().each(function(doclet) { 512 | var url = helper.longnameToUrl[doclet.longname]; 513 | 514 | if (url.indexOf('#') > -1) { 515 | doclet.id = helper.longnameToUrl[doclet.longname].split(/#/).pop(); 516 | } 517 | else { 518 | doclet.id = doclet.name; 519 | } 520 | 521 | if ( needsSignature(doclet) ) { 522 | addSignatureParams(doclet); 523 | addSignatureReturns(doclet); 524 | addAttribs(doclet); 525 | } 526 | }); 527 | 528 | // do this after the urls have all been generated 529 | data().each(function(doclet) { 530 | doclet.ancestors = getAncestorLinks(doclet); 531 | 532 | if (doclet.kind === 'member') { 533 | addSignatureTypes(doclet); 534 | addAttribs(doclet); 535 | } 536 | 537 | if (doclet.kind === 'constant') { 538 | addSignatureTypes(doclet); 539 | addAttribs(doclet); 540 | doclet.kind = 'member'; 541 | } 542 | }); 543 | 544 | var members = helper.getMembers(data); 545 | members.tutorials = tutorials.children; 546 | 547 | // add template helpers 548 | view.find = find; 549 | view.linkto = linkto; 550 | view.resolveAuthorLinks = resolveAuthorLinks; 551 | view.tutoriallink = tutoriallink; 552 | view.htmlsafe = htmlsafe; 553 | view.members = members; //@davidshimjs: To make navigation for customizing 554 | 555 | // once for all 556 | view.nav = buildNav(members); 557 | attachModuleSymbols( find({ kind: ['class', 'function'], longname: {left: 'module:'} }), 558 | members.modules ); 559 | 560 | // only output pretty-printed source files if requested; do this before generating any other 561 | // pages, so the other pages can link to the source files 562 | if (conf['default'].outputSourceFiles) { 563 | generateSourceFiles(sourceFiles); 564 | } 565 | 566 | if (members.globals.length) { generate('Global', [{kind: 'globalobj'}], globalUrl); } 567 | 568 | // index page displays information from package.json and lists files 569 | var files = find({kind: 'file'}), 570 | packages = find({kind: 'package'}); 571 | 572 | generate('Index', 573 | packages.concat( 574 | [{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}] 575 | ).concat(files), 576 | indexUrl); 577 | 578 | // set up the lists that we'll use to generate pages 579 | var classes = taffy(members.classes); 580 | var modules = taffy(members.modules); 581 | var namespaces = taffy(members.namespaces); 582 | var mixins = taffy(members.mixins); 583 | var externals = taffy(members.externals); 584 | var interfaces = taffy(members.interfaces); 585 | 586 | for (var longname in helper.longnameToUrl) { 587 | if ( hasOwnProp.call(helper.longnameToUrl, longname) ) { 588 | var myClasses = helper.find(classes, {longname: longname}); 589 | if (myClasses.length) { 590 | generate('Class: ' + myClasses[0].name, myClasses, helper.longnameToUrl[longname]); 591 | } 592 | 593 | var myModules = helper.find(modules, {longname: longname}); 594 | if (myModules.length) { 595 | generate('Module: ' + myModules[0].name, myModules, helper.longnameToUrl[longname]); 596 | } 597 | 598 | var myNamespaces = helper.find(namespaces, {longname: longname}); 599 | if (myNamespaces.length) { 600 | generate('Namespace: ' + myNamespaces[0].name, myNamespaces, helper.longnameToUrl[longname]); 601 | } 602 | 603 | var myMixins = helper.find(mixins, {longname: longname}); 604 | if (myMixins.length) { 605 | generate('Mixin: ' + myMixins[0].name, myMixins, helper.longnameToUrl[longname]); 606 | } 607 | 608 | var myExternals = helper.find(externals, {longname: longname}); 609 | if (myExternals.length) { 610 | generate('External: ' + myExternals[0].name, myExternals, helper.longnameToUrl[longname]); 611 | } 612 | 613 | var myInterfaces = helper.find(interfaces, {longname: longname}); 614 | if (myInterfaces.length) { 615 | generate('Interface: ' + myInterfaces[0].name, myInterfaces, helper.longnameToUrl[longname]); 616 | } 617 | } 618 | } 619 | 620 | // TODO: move the tutorial functions to templateHelper.js 621 | function generateTutorial(title, tutorial, filename) { 622 | var tutorialData = { 623 | title: title, 624 | header: tutorial.title, 625 | content: tutorial.parse(), 626 | children: tutorial.children, 627 | filename: filename 628 | }; 629 | 630 | var tutorialPath = path.join(outdir, filename), 631 | html = view.render('tutorial.tmpl', tutorialData); 632 | 633 | // yes, you can use {@link} in tutorials too! 634 | html = helper.resolveLinks(html); // turn {@link foo} into foo 635 | 636 | fs.writeFileSync(tutorialPath, html, 'utf8'); 637 | } 638 | 639 | // tutorials can have only one parent so there is no risk for loops 640 | function saveChildren(node) { 641 | node.children.forEach(function(child) { 642 | generateTutorial('Tutorial: ' + child.title, child, helper.tutorialToUrl(child.name)); 643 | saveChildren(child); 644 | }); 645 | } 646 | saveChildren(tutorials); 647 | }; 648 | -------------------------------------------------------------------------------- /src/scripts/linenumber.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var counter = 0; 3 | var numbered; 4 | var source = document.getElementById('source-code'); 5 | 6 | if (source) { 7 | var linenums = config.linenums; 8 | 9 | if (linenums) { 10 | source = source.getElementsByTagName('ol')[0]; 11 | 12 | numbered = Array.prototype.slice.apply(source.children); 13 | numbered = numbered.map(function(item) { 14 | counter++; 15 | item.id = 'line' + counter; 16 | }); 17 | } else { 18 | source = source.getElementsByTagName('code')[0]; 19 | 20 | numbered = source.innerHTML.split('\n'); 21 | numbered = numbered.map(function(item) { 22 | counter++; 23 | return '' + item; 24 | }); 25 | 26 | source.innerHTML = numbered.join('\n'); 27 | } 28 | } 29 | })(); 30 | -------------------------------------------------------------------------------- /src/scripts/main.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | var $nav = $('.navigation'); 4 | var $list = $nav.find('.list'); 5 | var $search = $('.search'); 6 | 7 | // Search input 8 | $('#search').on('keyup', function (e) { 9 | var value = this.value.trim(); 10 | if (value) { 11 | var regexp = new RegExp(value, 'i'); 12 | $nav.addClass('searching') 13 | .removeClass('not-searching') 14 | .find('li, .itemMembers') 15 | .removeClass('match'); 16 | 17 | $nav.find('li').each(function (i, v) { 18 | var $item = $(v); 19 | if ($item.data('name') && regexp.test($item.data('name'))) { 20 | $item.addClass('match'); 21 | $item.closest('.itemMembers').addClass('match'); 22 | $item.closest('.item').addClass('match'); 23 | } 24 | }); 25 | } else { 26 | $nav.removeClass('searching') 27 | .addClass('not-searching') 28 | .find('.item, .itemMembers') 29 | .removeClass('match'); 30 | } 31 | $list.scrollTop(0); 32 | }); 33 | 34 | $('#menuToggle').click(function() { 35 | $list.toggleClass('show'); 36 | $search.toggleClass('show'); 37 | }); 38 | 39 | // Show an item related a current documentation automatically 40 | $nav.addClass('not-searching'); 41 | var filename = $('.page-title').data('filename').replace(/\.[a-z]+$/, ''); 42 | var $currentItem = $nav.find('a[href*="' + filename + '"]:eq(0)').closest('.item'); 43 | 44 | if ($currentItem.length) { 45 | // if a child then show the top level parent and highlight the 46 | // current item. 47 | if ($currentItem.parents('.children').length) { 48 | $currentItem.addClass('current'); 49 | // need to make all children not current 50 | $currentItem.find('li.item').addClass('notCurrent'); 51 | $currentItem = $currentItem.parents('ul.list>li.item'); 52 | } 53 | $currentItem 54 | .remove() 55 | .prependTo($list) 56 | .addClass('current'); 57 | } 58 | 59 | // disqus code 60 | if (config.disqus) { 61 | $(window).on('load', function () { 62 | var disqus_shortname = config.disqus; // required: replace example with your forum shortname 63 | var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 64 | dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 65 | (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 66 | var s = document.createElement('script'); s.async = true; 67 | s.type = 'text/javascript'; 68 | s.src = 'http://' + disqus_shortname + '.disqus.com/count.js'; 69 | document.getElementsByTagName('BODY')[0].appendChild(s); 70 | }); 71 | } 72 | }); 73 | -------------------------------------------------------------------------------- /src/styles/common.less: -------------------------------------------------------------------------------- 1 | @fontDefault: 'Libre Franklin', sans-serif; 2 | @fontMonospace: Menlo, Monaco, Consolas, "Courier New", monospace; 3 | 4 | @navWidth: 250px; 5 | 6 | @colorSubtitle: #e91e63; 7 | @colorRed: rgb(238, 125, 125); 8 | @colorLink: #2a6496; 9 | @colorBg: #ecedf1; 10 | @colorText: #333; 11 | @colorTextSubtle: #79859a; 12 | @colorTextInvert: #fff; 13 | @colorLine: #c8c9cc; 14 | @colorSourceTagBg: #b3b7c3; 15 | 16 | @colorNavBg: #272d37; 17 | @colorNavLink: #647086; 18 | @colorNavSubtitle: #c2185b; 19 | @colorNavBorder: #3d495a; 20 | @colorNavHighlight: #fff; 21 | @colorNavNormal: #cfd4db; 22 | @colorNavSpecial: #a9b3c3; 23 | @colorNavSearchBg: #14171d; -------------------------------------------------------------------------------- /src/styles/footer.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | .footer { 4 | margin: 0 20px 20px; 5 | padding-top: 20px; 6 | text-align: right; 7 | font-size: 0.9em; 8 | color: @colorTextSubtle; 9 | border-top: 1px solid @colorLine; 10 | } -------------------------------------------------------------------------------- /src/styles/index.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | // normalize 4 | html, body { 5 | font-family: @fontDefault; 6 | background-color: @colorBg; 7 | color: @colorText; 8 | } 9 | ul, ol { 10 | margin: 0; 11 | padding: 0; 12 | } 13 | li { 14 | list-style-type: none; 15 | } 16 | 17 | #wrap { 18 | position: relative; 19 | } 20 | 21 | @import "navigation.less"; 22 | @import "main.less"; 23 | @import "footer.less"; -------------------------------------------------------------------------------- /src/styles/main.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | .content-size { 4 | max-width:1000px; 5 | min-width:300px; 6 | margin-left: auto; 7 | margin-right: auto; 8 | } 9 | 10 | .status-deprecated { 11 | text-decoration: line-through; 12 | opacity: 0.4; 13 | a, &:hover { 14 | text-decoration: none; 15 | } 16 | } 17 | 18 | .main { 19 | 20 | left:25%; 21 | position:fixed; 22 | height:100%; 23 | right:0; 24 | overflow: auto; 25 | -webkit-overflow-scrolling: touch; 26 | word-break: break-word; 27 | 28 | .summary-list dt { 29 | width:100%; 30 | margin-bottom: 4px; 31 | float:left; 32 | font-size: 110%; 33 | @media screen and (min-width:768px) { 34 | & { width: 50% } 35 | } 36 | @media screen and (min-width:991px) { 37 | & { width: 33.33% } 38 | } 39 | @media screen and (min-width:1200px) { 40 | & { width: 25% } 41 | } 42 | } 43 | 44 | @media screen and (max-width:1000px) { 45 | & { 46 | left: @navWidth; 47 | } 48 | } 49 | 50 | @media screen and (max-width:768px) { 51 | & { 52 | left: 0; 53 | position: static; 54 | } 55 | } 56 | 57 | img { 58 | max-width: 100%; 59 | } 60 | 61 | article { 62 | padding:20px; 63 | } 64 | 65 | header { 66 | background:@colorTextInvert; 67 | .class-description { 68 | font-size: 120%; 69 | } 70 | .header { 71 | padding:20px; 72 | h2 { 73 | font-weight: bold; 74 | } 75 | } 76 | } 77 | 78 | .page-title { 79 | display: none; 80 | } 81 | 82 | .access-signature { 83 | font-weight: normal; 84 | display: inline-block; 85 | border-radius: 3px; 86 | background-color: @colorTextSubtle; 87 | color: @colorTextInvert; 88 | font-size: 0.7em; 89 | padding: 2px 6px; 90 | margin-left: 6px; 91 | &.deprecated { 92 | background-color: @colorSubtitle; 93 | font-weight: bold; 94 | .deprecated-info { 95 | font-weight: normal; 96 | margin-left: 5px; 97 | } 98 | } 99 | a { 100 | color: @colorTextInvert; 101 | } 102 | } 103 | 104 | h4.name { 105 | .type-signature { 106 | font-weight: normal; 107 | font-size: 0.8em; 108 | color: @colorTextSubtle; 109 | &:before { 110 | content: ' : '; 111 | opacity: 0.6; 112 | } 113 | } 114 | 115 | .return-symbol { 116 | margin: 0 6px; 117 | color: @colorTextSubtle; 118 | font-size: 80%; 119 | } 120 | 121 | .share-icon { 122 | font-size:70%; 123 | color: @colorTextSubtle; 124 | } 125 | } 126 | 127 | .subsection-title { 128 | color: @colorSubtitle; 129 | } 130 | 131 | .description { 132 | margin-top: 10px; 133 | ul, ol { 134 | margin-bottom: 15px; 135 | } 136 | 137 | h2 { 138 | font-weight: bold; 139 | margin-top: 30px; 140 | margin-bottom: 10px; 141 | padding-bottom: 10px; 142 | border-bottom: 1px solid #efefef; 143 | } 144 | 145 | pre { 146 | margin: 10px 0; 147 | } 148 | } 149 | 150 | .tag-source { 151 | font-size:85%; 152 | } 153 | dt.tag-source { 154 | margin-top: 5px; 155 | } 156 | dt.tag-default { 157 | color: @colorTextSubtle; 158 | } 159 | 160 | .nameContainer { 161 | position: relative; 162 | 163 | .tag-source { 164 | position: absolute; 165 | top: 0; 166 | right: 0; 167 | padding: 2px 6px; 168 | border-bottom-left-radius: 4px; 169 | border-bottom-right-radius: 4px; 170 | background-color: @colorSourceTagBg; 171 | a { 172 | color: @colorTextInvert; 173 | font-weight: normal; 174 | } 175 | } 176 | 177 | h4 { 178 | font-weight: bold; 179 | padding: 20px 0 0; 180 | border-top: 1px solid @colorLine; 181 | .signature { 182 | font-weight: normal; 183 | font-size: .8em; 184 | padding-left: 0.4em; 185 | } 186 | } 187 | } 188 | 189 | table { 190 | width: 100%; 191 | margin-bottom: 15px; 192 | margin-top: 5px; 193 | 194 | th { 195 | padding: 3px 3px; 196 | color: @colorTextInvert; 197 | font-weight: normal; 198 | background: @colorTextSubtle; 199 | } 200 | 201 | td { 202 | vertical-align: top; 203 | padding: 5px 3px; 204 | word-break: normal; 205 | } 206 | 207 | tbody { 208 | tr:nth-child(odd) { 209 | background-color: #fff; 210 | } 211 | tr:nth-child(even) { 212 | background-color: #f5f5fb; 213 | } 214 | } 215 | 216 | .type { 217 | color: @colorTextSubtle; 218 | } 219 | 220 | .attributes { 221 | color: @colorTextSubtle; 222 | } 223 | 224 | .description { 225 | p { 226 | margin: 0; 227 | } 228 | } 229 | 230 | .optional { 231 | float: left; 232 | border-radius: 3px; 233 | background-color: @colorSourceTagBg; 234 | padding: 2px 4px; 235 | margin-right: 5px; 236 | color: @colorTextInvert; 237 | font-size: 80%; 238 | } 239 | } 240 | 241 | .readme { 242 | p { 243 | margin-top: 15px; 244 | } 245 | 246 | h1 { 247 | font-weight: bold; 248 | } 249 | 250 | h2 { 251 | font-weight: bold; 252 | margin-top: 30px; 253 | margin-bottom: 10px; 254 | padding-bottom: 10px; 255 | border-bottom: 1px solid @colorTextSubtle; 256 | } 257 | 258 | h3 { 259 | color: @colorSubtitle; 260 | } 261 | 262 | li { 263 | margin-bottom: 10px; 264 | } 265 | } 266 | 267 | article { 268 | ol, ul { 269 | margin-left: 25px; 270 | } 271 | 272 | ol > li { 273 | list-style-type: decimal; 274 | margin-bottom: 5px; 275 | } 276 | 277 | ul > li { 278 | margin-bottom: 5px; 279 | list-style-type: disc; 280 | } 281 | } 282 | } 283 | -------------------------------------------------------------------------------- /src/styles/navigation.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | .list::-webkit-scrollbar { 4 | width: 8px; 5 | background-color: transparent; 6 | } 7 | 8 | .list::-webkit-scrollbar-thumb { 9 | background-color: @colorNavLink; 10 | border-radius: 4px; 11 | } 12 | 13 | .navigation { 14 | position: fixed; 15 | overflow: hidden; 16 | min-width: @navWidth; 17 | width:25%; 18 | top:0; 19 | left:0; 20 | bottom:0; 21 | background-color: @colorNavBg; 22 | 23 | .menu-toggle { 24 | display:none; 25 | } 26 | 27 | @media screen and (max-width:768px) { 28 | & { 29 | left: 0; 30 | position: relative; 31 | width: 100%; 32 | overflow: auto; 33 | .search, 34 | .list { 35 | display: none; 36 | &.show { 37 | display: block; 38 | position: static; 39 | } 40 | } 41 | .menu-toggle { 42 | display: block; 43 | position: absolute; 44 | top: 10px; 45 | right: 10px; 46 | } 47 | } 48 | } 49 | 50 | .applicationName { 51 | margin: 0; 52 | padding: 20px; 53 | font-weight: bold; 54 | white-space: nowrap; 55 | color: @colorNavHighlight; 56 | a { 57 | color: @colorNavHighlight; 58 | } 59 | } 60 | 61 | .search { 62 | padding: 0 20px; 63 | input { 64 | background-color: @colorNavSearchBg; 65 | color: @colorNavHighlight; 66 | border-color: @colorNavBorder; 67 | } 68 | } 69 | 70 | .list { 71 | padding: 20px; 72 | position: absolute; 73 | overflow: auto; 74 | -webkit-overflow-scrolling: touch; 75 | width: 100%; 76 | top: 100px; 77 | bottom: 0; 78 | } 79 | 80 | li.item { 81 | margin-bottom: 8px; 82 | padding-bottom: 8px; 83 | border-bottom: 1px solid @colorNavBorder; 84 | overflow: hidden; 85 | a { 86 | color: @colorNavLink; 87 | &:hover { 88 | color: #fff; 89 | } 90 | } 91 | .title { 92 | display: block; 93 | a { 94 | display:block; 95 | color: @colorNavNormal; 96 | &:hover { 97 | color: @colorNavHighlight; 98 | } 99 | } 100 | &.namespace a { 101 | color: @colorTextInvert; 102 | } 103 | .namespaceTag { 104 | display: inline-block; 105 | border-radius: 3px; 106 | background-color: @colorNavSubtitle; 107 | color: @colorNavHighlight; 108 | font-size: 70%; 109 | padding: 2px 6px; 110 | float:left; 111 | margin-right: 10px; 112 | pointer-events: none; 113 | } 114 | } 115 | 116 | .subtitle { 117 | margin: 10px 0; 118 | font-weight: bold; 119 | color: @colorNavSubtitle; 120 | display: block; 121 | letter-spacing: 0.05em; 122 | } 123 | 124 | 125 | ul { 126 | & > li { 127 | padding-left: 10px; 128 | font-size: 0.9em; 129 | } 130 | } 131 | 132 | .itemMembers li.parent a { 133 | color: @colorNavSpecial; 134 | } 135 | } 136 | 137 | .children { 138 | li.item { 139 | border-bottom: none; 140 | padding-bottom: 0; 141 | } 142 | li.notCurrent { 143 | font-weight: normal; 144 | } 145 | li.current { 146 | font-weight: bold; 147 | } 148 | } 149 | 150 | // Hide everything by default 151 | .item, .itemMembers, .itemMembers li { 152 | display: none; 153 | } 154 | 155 | // If we aren't searching show the 156 | // all of the contents of current select item 157 | &.not-searching .item { 158 | display: block; 159 | &.current { 160 | .itemMembers, .itemMembers li { 161 | display: block; 162 | } 163 | } 164 | } 165 | 166 | // If searching, only show matches 167 | &.searching .item.match { 168 | display: block; 169 | .itemMembers.match, .itemMembers li.match { 170 | display: block; 171 | } 172 | } 173 | } -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixijs/pixi-jsdoc-template/dfa61e47e3d99f4e1458b6cc235b62ac34585914/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixijs/pixi-jsdoc-template/dfa61e47e3d99f4e1458b6cc235b62ac34585914/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixijs/pixi-jsdoc-template/dfa61e47e3d99f4e1458b6cc235b62ac34585914/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixijs/pixi-jsdoc-template/dfa61e47e3d99f4e1458b6cc235b62ac34585914/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/scripts/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('

'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery); -------------------------------------------------------------------------------- /static/scripts/prettify/Apache-License-2.0.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /static/scripts/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", 2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /static/scripts/prettify/prettify.js: -------------------------------------------------------------------------------- 1 | var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; 2 | (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= 3 | [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), 9 | l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, 10 | q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, 11 | q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, 12 | "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), 13 | a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} 14 | for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], 18 | "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], 19 | H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], 20 | J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ 21 | I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), 22 | ["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", 23 | /^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), 24 | ["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", 25 | hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= 26 | !k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 |
16 |

17 | 18 | 19 |

20 | 21 |
22 | 23 |
24 |
25 | 26 |
27 | 28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 | 41 | 42 | 43 |

Example 1? 's':'' ?>

44 | 45 | 46 | 47 |
48 | 49 | 50 | 51 |

Extends

52 | 53 |
    54 |
  • 55 |
56 | 57 | 58 | 59 |

Implements

60 | 61 |
    62 |
  • 63 |
64 | 65 | 66 | 67 |

Mixes In

68 | 69 |
    70 |
  • 71 |
72 | 73 | 74 | 75 |

Requires

76 | 77 |
    78 |
  • 79 |
80 | 81 | 82 | 86 |

Classes

87 | 88 |
89 |
90 |
91 |
92 | 93 | 94 | 98 |

Namespaces

99 | 100 |
101 |
102 | 103 |
104 |
105 | 106 | 107 | 111 |

Members

112 | 113 |
114 | 115 |
116 | 117 | 118 | 122 |

Methods

123 | 124 |
125 | 126 |
127 | 128 | 129 | 133 |

Type Definitions

134 | 135 |
138 | 139 | 143 | 144 |
147 | 148 | 149 | 153 |

Interface Definitions

154 | 155 |
158 | 159 | 163 | 164 |
167 | 168 | 169 | 173 |

Events

174 | 175 |
176 | 177 |
178 | 179 |
180 | 181 |
182 | 183 | 184 | 185 | -------------------------------------------------------------------------------- /tmpl/details.tmpl: -------------------------------------------------------------------------------- 1 | 5 |
6 | 10 | 11 |
Properties:
12 | 13 |
14 | 15 | 16 | 17 | 18 |
Version:
19 |
20 | 21 | 22 | 23 |
Since:
24 |
25 | 26 | 27 | 28 |
Author:
29 |
30 |
    31 |
  • 32 |
33 |
34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
License:
43 |
44 | 45 | 46 | 47 |
Default Value:
48 |
49 | 50 | 51 | 52 |
Tutorials:
53 |
54 |
    55 |
  • 56 |
57 |
58 | 59 | 60 | 61 |
See:
62 |
63 |
    64 |
  • 65 |
66 |
67 | 68 | 69 | 70 |
TODO
71 |
72 |
    73 |
  • 74 |
75 |
76 | 77 |
78 | -------------------------------------------------------------------------------- /tmpl/example.tmpl: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /tmpl/examples.tmpl: -------------------------------------------------------------------------------- 1 | 6 |

7 | 8 | 9 | ') === -1) { ?> 10 |
11 | 12 | /g, '
') ?>
13 |     
14 | 


--------------------------------------------------------------------------------
/tmpl/exceptions.tmpl:
--------------------------------------------------------------------------------
 1 | 
 4 | 
 5 | 
6 |
7 |
8 | 9 |
10 |
11 |
12 |
13 |
14 | Type 15 |
16 |
17 | 18 |
19 |
20 |
21 |
22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | -------------------------------------------------------------------------------- /tmpl/layout.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <?js= ((env.conf.templates.meta && env.conf.templates.meta.title) || title) ?> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 39 | 40 | 41 | 42 | 53 | 54 | 55 | 56 |
57 | 58 |
59 |

60 | 61 | 62 | 63 | 64 |
65 | 66 | comments powered by Disqus 67 | 68 | 69 | 70 |
71 | 74 |
75 |
76 |
77 | 78 | 79 | 82 | 83 | 86 | 89 | 90 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /tmpl/mainpage.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 |

8 | 9 | 10 | 11 |
12 |
13 |
14 | -------------------------------------------------------------------------------- /tmpl/members.tmpl: -------------------------------------------------------------------------------- 1 | '; 8 | data.type.names.forEach(function (name) { 9 | typeSignature += self.linkto(name, self.htmlsafe(name)); 10 | typeSignature += ' | '; 11 | }); 12 | typeSignature = typeSignature.slice(0, -3) + ''; 13 | } 14 | ?> 15 |
16 |
17 |

18 | 19 | 20 | 21 | 22 | Deprecated 24 | : 25 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |

37 |
38 | 39 | 40 |

41 | 42 |
43 |
44 | 45 |
46 | 47 |
48 | 49 | 50 | 51 | 52 | 53 |
Example 1? 's':'' ?>
54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /tmpl/method.tmpl: -------------------------------------------------------------------------------- 1 | 5 |
6 |
7 |

8 | 9 | 10 | 11 | 12 | 13 | 14 | Deprecated 16 | : 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |

29 | 30 | 31 |
32 | 33 |
34 | 35 |
36 | 37 | 38 |

39 | 40 |
41 |
42 | 43 | 44 |
45 | 46 |
47 | 48 | 49 | 50 |
Type:
51 |
    52 |
  • 53 | 54 |
  • 55 |
56 | 57 | 58 | 59 |
This:
60 |
61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
Fires:
71 |
    72 |
  • 73 |
74 | 75 | 76 | 77 |
Listens to Events:
78 |
    79 |
  • 80 |
81 | 82 | 83 | 84 |
Listeners of This Event:
85 |
    86 |
  • 87 |
88 | 89 | 90 | 91 |
Throws:
92 | 1) { ?>
    94 |
  • 95 |
98 | 99 | 101 | 102 | 103 |
Returns:
104 | 105 | 106 | 107 | 108 |
Example 1? 's':'' ?>
109 | 110 | 111 |
112 | -------------------------------------------------------------------------------- /tmpl/navigation.tmpl: -------------------------------------------------------------------------------- 1 | 7 | 151 | -------------------------------------------------------------------------------- /tmpl/params.tmpl: -------------------------------------------------------------------------------- 1 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 75 | 76 | 77 | 82 | 83 | 84 | 100 | 101 | 102 | 103 | 104 |
NameTypeDefaultDescription
71 | 72 | 73 | 74 | 78 | 79 | 80 | 81 | 85 | 86 | 87 | optional 88 | 89 | 90 | nullable 91 | 92 | 93 | 94 | repeatable 95 | 96 | 97 | 98 | 99 |
-------------------------------------------------------------------------------- /tmpl/properties.tmpl: -------------------------------------------------------------------------------- 1 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 79 | 80 | 81 | 90 | 91 | 92 | 93 | 98 | 99 | 100 | 103 | 104 | 105 | 106 | 107 |
NameTypeArgumentDefaultDescription
75 | 76 | 77 | 78 | 82 | 83 | <optional>
84 | 85 | 86 | 87 | <nullable>
88 | 89 |
94 | 95 | 96 | 97 | 101 |
Properties
102 |
-------------------------------------------------------------------------------- /tmpl/returns.tmpl: -------------------------------------------------------------------------------- 1 | /g, ''); 10 | 11 | var isNamed = ret.name ? true : false; 12 | var name = ret.name || ret.description; 13 | var startSpacePos = name.indexOf(' '); 14 | 15 | if (parentReturn !== null && name.indexOf(parentReturn.name + '.') === 0) { 16 | ret.name = isNamed ? name.substr(parentReturn.name.length + 1) : name.substr(parentReturn.name.length + 1, startSpacePos - (parentReturn.name.length + 1)); 17 | 18 | if (!isNamed) { 19 | ret.description = ret.description.substr(startSpacePos + 1); 20 | } 21 | 22 | ret.isSubReturns = true; 23 | parentReturn.subReturns = parentReturn.subReturns || []; 24 | parentReturn.subReturns.push(ret); 25 | returns[i] = null; 26 | } else if (returns.length > 1 || ret.isSubReturns) { 27 | if (!isNamed) { 28 | ret.name = ret.description.substr(0, startSpacePos !== -1 ? startSpacePos : ret.description.length); 29 | ret.description = startSpacePos !== -1 ? ret.description.substr(startSpacePos + 1) : ''; 30 | } 31 | 32 | parentReturn = ret; 33 | } 34 | } 35 | 36 | if (ret.name) { 37 | hasName = true; 38 | } 39 | 40 | if (ret.type) { 41 | hasType = true; 42 | } 43 | }); 44 | ?> 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 63 | 64 | 65 | 75 | 78 | 79 | 80 | 81 |
NameTypeDescription
66 | 69 | 70 | | 71 | 74 | 76 | 77 |
82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /tmpl/source.tmpl: -------------------------------------------------------------------------------- 1 | 4 |
5 |
6 |
7 |

8 |
9 |
10 |
11 |
12 |
13 |
14 | -------------------------------------------------------------------------------- /tmpl/tutorial.tmpl: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 |
5 |

6 |
7 |
8 | 9 |
10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /tmpl/type.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | | 7 | --------------------------------------------------------------------------------