From 4782dc7a18a9e83aada55e6a4d90d3075a47adb4 Mon Sep 17 00:00:00 2001 From: Scott Hunter Date: Tue, 20 May 2014 11:00:22 -0400 Subject: [PATCH 1/5] JSDoc upgrade work in progress --- .gitignore | 4 +- .project | 28 +- .settings/com.eclipsesource.jshint.ui.prefs | 2 +- Specs/SpecRunner.js | 6 +- Tools/jsdoc/cesiumTags.js | 41 ++ Tools/jsdoc/cesium_template/publish.js | 427 +++++++++++++ .../cesium_template/static/icons/home.png | Bin 0 -> 327 bytes .../cesium_template/static/icons/popout.png | Bin 0 -> 398 bytes .../static/images}/CesiumLogo.jpg | Bin .../static/javascript/cesiumDoc.js | 61 ++ .../static/javascript/html5.js | 8 + .../static/javascript/shBrushJScript.js | 154 +++++ .../static/javascript/shCore.js | 17 + .../static/styles/jsdoc-default.css | 586 ++++++++++++++++++ .../static/styles/node-dark.css | 150 +++++ .../cesium_template/static/styles/shCore.css | 226 +++++++ .../static/styles/shThemeDefault.css | 120 ++++ .../jsdoc/cesium_template/tmpl/container.tmpl | 147 +++++ Tools/jsdoc/cesium_template/tmpl/details.tmpl | 110 ++++ Tools/jsdoc/cesium_template/tmpl/example.tmpl | 2 + .../jsdoc/cesium_template/tmpl/examples.tmpl | 13 + .../cesium_template/tmpl/exceptions.tmpl | 16 + .../cesium_template/tmpl/indexLayout.tmpl | 59 ++ Tools/jsdoc/cesium_template/tmpl/layout.tmpl | 76 +++ .../jsdoc/cesium_template/tmpl/mainpage.tmpl | 14 + Tools/jsdoc/cesium_template/tmpl/members.tmpl | 32 + Tools/jsdoc/cesium_template/tmpl/method.tmpl | 100 +++ Tools/jsdoc/cesium_template/tmpl/params.tmpl | 104 ++++ .../cesium_template/tmpl/properties.tmpl | 107 ++++ Tools/jsdoc/cesium_template/tmpl/returns.tmpl | 8 + Tools/jsdoc/cesium_template/tmpl/source.tmpl | 8 + .../jsdoc/cesium_template/tmpl/tutorial.tmpl | 19 + Tools/jsdoc/cesium_template/tmpl/type.tmpl | 7 + Tools/jsdoc/conf.json | 22 + package.json | 14 + 35 files changed, 2676 insertions(+), 12 deletions(-) create mode 100644 Tools/jsdoc/cesiumTags.js create mode 100644 Tools/jsdoc/cesium_template/publish.js create mode 100644 Tools/jsdoc/cesium_template/static/icons/home.png create mode 100644 Tools/jsdoc/cesium_template/static/icons/popout.png rename {Documentation/Images => Tools/jsdoc/cesium_template/static/images}/CesiumLogo.jpg (100%) create mode 100644 Tools/jsdoc/cesium_template/static/javascript/cesiumDoc.js create mode 100644 Tools/jsdoc/cesium_template/static/javascript/html5.js create mode 100644 Tools/jsdoc/cesium_template/static/javascript/shBrushJScript.js create mode 100644 Tools/jsdoc/cesium_template/static/javascript/shCore.js create mode 100644 Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css create mode 100644 Tools/jsdoc/cesium_template/static/styles/node-dark.css create mode 100644 Tools/jsdoc/cesium_template/static/styles/shCore.css create mode 100644 Tools/jsdoc/cesium_template/static/styles/shThemeDefault.css create mode 100644 Tools/jsdoc/cesium_template/tmpl/container.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/details.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/example.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/examples.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/exceptions.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/indexLayout.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/layout.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/mainpage.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/members.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/method.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/params.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/properties.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/returns.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/source.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/tutorial.tmpl create mode 100644 Tools/jsdoc/cesium_template/tmpl/type.tmpl create mode 100644 Tools/jsdoc/conf.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore index 4fb38028a1d..2c4be5d288a 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,6 @@ Thumbs.db /Source/Shaders/*/*/*.js !/Source/Shaders/Shaders.profile.js -/Specs/SpecList.js \ No newline at end of file +/Specs/SpecList.js + +/node_modules diff --git a/.project b/.project index 137f830461e..37192d9c9a9 100644 --- a/.project +++ b/.project @@ -32,7 +32,7 @@ - 1391456479002 + 1400616658988 10 @@ -41,7 +41,7 @@ - 1391456479007 + 1400616658995 10 @@ -50,7 +50,7 @@ - 1391456479012 + 1400616658999 6 @@ -59,7 +59,7 @@ - 1391456479018 + 1400616659006 10 @@ -67,6 +67,15 @@ 1.0-name-matches-false-false-.git + + 1400616659012 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-node_modules + + 1336749023862 Source @@ -86,7 +95,7 @@ - 1348694184349 + 1400616508068 Tools 9 @@ -94,6 +103,15 @@ 1.0-name-matches-false-false-buildTasks + + 1400616508072 + Tools + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-jsdoc + + 1360870693679 Apps/Sandcastle diff --git a/.settings/com.eclipsesource.jshint.ui.prefs b/.settings/com.eclipsesource.jshint.ui.prefs index 5d8e5b1f560..42fed44e830 100644 --- a/.settings/com.eclipsesource.jshint.ui.prefs +++ b/.settings/com.eclipsesource.jshint.ui.prefs @@ -1,4 +1,4 @@ eclipse.preferences.version=1 -excluded=Apps/Sandcastle/ThirdParty//*\:Source/ThirdParty//*\:Source/Workers/cesiumWorkerBootstrapper.js\:ThirdParty//*\:Tools/build.js +excluded=Apps/Sandcastle/ThirdParty//*\:Source/ThirdParty//*\:Source/Workers/cesiumWorkerBootstrapper.js\:ThirdParty//*\:Tools/build.js\:Tools/jsdoc//* included=//*.js projectSpecificOptions=true diff --git a/Specs/SpecRunner.js b/Specs/SpecRunner.js index a18d2750172..a8d2e338c68 100644 --- a/Specs/SpecRunner.js +++ b/Specs/SpecRunner.js @@ -35,11 +35,7 @@ var afterAll; function getQueryParameter(name) { var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); - - if (match) { - return decodeURIComponent(match[1].replace(/\+/g, ' ')); - } - return null; + return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); } // patch in beforeAll/afterAll functions diff --git a/Tools/jsdoc/cesiumTags.js b/Tools/jsdoc/cesiumTags.js new file mode 100644 index 00000000000..8da660ba14a --- /dev/null +++ b/Tools/jsdoc/cesiumTags.js @@ -0,0 +1,41 @@ +/** + @overview Define custom tags for Cesium + @author Kristian Calhoun + */ + +exports.defineTags = function(dictionary) { + + dictionary.lookUp('class').synonym('internalConstructor'); + + dictionary.defineTag('exports', { + mustHaveValue: true, + onTagged: function(doclet, tag) { + doclet.addTag('alias', tag.value); + doclet.addTag('kind', 'module'); + doclet.longname = tag.value; + } + }).synonym('enumeration'); + + dictionary.defineTag('glsl', { + onTagged: function(doclet, tag) { + doclet.addTag('kind', 'glsl'); + doclet.filename = doclet.name; + } + }).synonym('glslStruct').synonym('glslUniform').synonym('glslConstant').synonym('glslFunction'); + + dictionary.defineTag('performance', { + mustHaveValue: true, + onTagged: function(doclet, tag) { + if (!doclet.performance) { doclet.performance = []; } + doclet.performance.push(tag.value); + } + }); + + dictionary.defineTag('demo', { + mustHaveValue: true, + onTagged: function(doclet, tag) { + if (!doclet.demo) { doclet.demo = []; } + doclet.demo.push(tag.value); + } + }); +}; \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/publish.js b/Tools/jsdoc/cesium_template/publish.js new file mode 100644 index 00000000000..8b66c0c3cfd --- /dev/null +++ b/Tools/jsdoc/cesium_template/publish.js @@ -0,0 +1,427 @@ +/*global env: true */ +'use strict'; + +var fs = require('jsdoc/fs'); +var helper = require('jsdoc/util/templateHelper'); +var logger = require('jsdoc/util/logger'); +var path = require('jsdoc/path'); +var taffy = require('taffydb').taffy; +var template = require('jsdoc/template'); +var util = require('util'); + +var htmlsafe = helper.htmlsafe; +var linkto = helper.linkto; +var resolveAuthorLinks = helper.resolveAuthorLinks; +var scopeToPunc = helper.scopeToPunc; +var hasOwnProp = Object.prototype.hasOwnProperty; + +var data; +var view; + +var outdir = env.opts.destination; + +function find(spec) { + return helper.find(data, spec); +} + +function tutoriallink(tutorial) { + return helper.toTutorial(tutorial, null, { tag: 'em', classname: 'disabled', prefix: 'Tutorial: ' }); +} + +function getAncestorLinks(doclet) { + return helper.getAncestorLinks(data, doclet); +} + +function hashToLink(doclet, hash) { + if ( !/^(#.+)/.test(hash) ) { return hash; } + + var url = helper.createLink(doclet); + + url = url.replace(/(#.+|$)/, hash); + return '' + hash + ''; +} + +function needsSignature(doclet) { + var needsSig = false; + + // function and class definitions always get a signature + if (doclet.kind === 'function' || doclet.kind === 'class') { + needsSig = true; + } + // typedefs that contain functions get a signature, too + else if (doclet.kind === 'typedef' && doclet.type && doclet.type.names && + doclet.type.names.length) { + for (var i = 0, l = doclet.type.names.length; i < l; i++) { + if (doclet.type.names[i].toLowerCase() === 'function') { + needsSig = true; + break; + } + } + } + + return needsSig; +} + +function addSignatureParams(f) { + var params = helper.getSignatureParams(f, 'optional'); + + f.signature = (f.signature || '') + '('+params.join(', ')+')'; +} + +function addSignatureReturns(f) { + var returnTypes = helper.getSignatureReturns(f); + + f.signature = ''+(f.signature || '') + ''; + + if (returnTypes.length) { + f.signature += ' → '+(returnTypes.length ? returnTypes.join('|') : '')+''; + } +} + +function addSignatureTypes(f) { + var types = helper.getSignatureTypes(f); + + f.signature = (f.signature || '') + ''+(types.length? ' :'+types.join('|') : '')+''; +} + +function addAttribs(f) { + var attribs = helper.getAttribs(f); + + if (attribs.length) { + f.attribs = attribs.map(function(attrib) { + return '' + htmlsafe(attrib) + ''; + }).join(''); + } +} + +function shortenPaths(files, commonPrefix) { + Object.keys(files).forEach(function(file) { + files[file].shortened = files[file].resolved.replace(commonPrefix, '') + // always use forward slashes + .replace(/\\/g, '/'); + }); + + return files; +} + +function getPathFromDoclet(doclet) { + if (!doclet.meta) { + return null; + } + + return doclet.meta.path && doclet.meta.path !== 'null' ? + path.join(doclet.meta.path, doclet.meta.filename) : + doclet.meta.filename; +} + +function generate(title, docs, filename, resolveLinks) { + resolveLinks = resolveLinks === false ? false : true; + + var docData = { + title: title, + docs: docs + }; + + var outpath = path.join(outdir, filename), + html = view.render('container.tmpl', docData); + + if (resolveLinks) { + html = helper.resolveLinks(html); // turn {@link foo} into foo + } + + fs.writeFileSync(outpath, html, 'utf8'); +} + +function generateSourceFiles(sourceFiles, encoding) { + encoding = encoding || 'utf8'; + Object.keys(sourceFiles).forEach(function(file) { + var source; + // links are keyed to the shortened path in each doclet's `meta.shortpath` property + var sourceOutfile = helper.getUniqueFilename(sourceFiles[file].shortened); + helper.registerLink(sourceFiles[file].shortened, sourceOutfile); + + try { + source = { + kind: 'source', + code: helper.htmlsafe( fs.readFileSync(sourceFiles[file].resolved, encoding) ) + }; + } + catch(e) { + logger.error('Error while generating source file %s: %s', file, e.message); + } + + generate('Source: ' + sourceFiles[file].shortened, [source], sourceOutfile, + false); + }); +} + +/** + * Look for classes or functions with the same name as modules (which indicates that the module + * exports only that class or function), then attach the classes or functions to the `module` + * property of the appropriate module doclets. The name of each class or function is also updated + * for display purposes. This function mutates the original arrays. + * + * @private + * @param {Array.} doclets - The array of classes and functions to + * check. + * @param {Array.} modules - The array of module doclets to search. + */ +function attachModuleSymbols(doclets, modules) { + var symbols = {}; + + // build a lookup table + doclets.forEach(function(symbol) { + symbols[symbol.longname] = symbol; + }); + + return modules.map(function(module) { + if (symbols[module.longname]) { + module.module = symbols[module.longname]; + module.module.name = module.module.name.replace('module:', 'require("') + '")'; + } + }); +} + +/** + * Create the navigation sidebar. + * @param {object} members The members that will be used to create the sidebar. + * @param {array} members.classes + * @param {array} members.externals + * @param {array} members.globals + * @param {array} members.mixins + * @param {array} members.modules + * @param {array} members.namespaces + * @param {array} members.tutorials + * @param {array} members.events + * @return {string} The HTML for the navigation sidebar. + */ +function buildNav(members) { + var nav = '
    ', + seen = {}, + hasClassList = false, + classNav = '', + globalNav = ''; + + var items = members.modules.concat(members.classes).sort(function(a, b) { + return a.longname.toLowerCase().localeCompare(b.longname.toLowerCase()); + }); + + if (items.length) { + items.forEach(function(m) { + if ( !hasOwnProp.call(seen, m.longname) ) { + nav += '
  • ' + linkto(m.longname, m.name) + '
  • '; + } + seen[m.longname] = true; + }); + + nav += '
'; + } + + return nav; +} + +/** + @param {TAFFY} taffyData See . + @param {object} opts + @param {Tutorial} tutorials + */ +exports.publish = function(taffyData, opts, tutorials) { + data = taffyData; + + var conf = env.conf.templates || {}; + conf['cesium_template'] = conf['cesium_template'] || {}; + + var templatePath = opts.template; + view = new template.Template(templatePath + '/tmpl'); + + // claim some special filenames in advance, so the All-Powerful Overseer of Filename Uniqueness + // doesn't try to hand them out later + var indexUrl = helper.getUniqueFilename('index'); + // don't call registerLink() on this one! 'index' is also a valid longname + + var globalUrl = helper.getUniqueFilename('global'); + helper.registerLink('global', globalUrl); + + // set up templating + view.layout = 'layout.tmpl'; + + // set up tutorials for helper + helper.setTutorials(tutorials); + + data = helper.prune(data); + data.sort('longname, version, since'); + helper.addEventListeners(data); + + var sourceFiles = {}; + var sourceFilePaths = []; + data().each(function(doclet) { + doclet.attribs = ''; + + if (doclet.examples) { + doclet.examples = doclet.examples.map(function(example) { + var caption, code; + + if (example.match(/^\s*([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) { + caption = RegExp.$1; + code = RegExp.$3; + } + + return { + caption: caption || '', + code: code || example + }; + }); + } + if (doclet.see) { + doclet.see.forEach(function(seeItem, i) { + doclet.see[i] = hashToLink(doclet, seeItem); + }); + } + + // build a list of source files + var sourcePath; + if (doclet.meta) { + sourcePath = getPathFromDoclet(doclet); + sourceFiles[sourcePath] = { + resolved: sourcePath, + shortened: null + }; + if (sourceFilePaths.indexOf(sourcePath) === -1) { + sourceFilePaths.push(sourcePath); + } + } + }); + + // update outdir if necessary, then create outdir + var packageInfo = ( find({kind: 'package'}) || [] ) [0]; + if (packageInfo && packageInfo.name) { + outdir = path.join(outdir, packageInfo.name, packageInfo.version); + } + fs.mkPath(outdir); + + // copy the template's static files to outdir + var fromDir = path.join(templatePath, 'static'); + var staticFiles = fs.ls(fromDir, 3); + + staticFiles.forEach(function(fileName) { + var toDir = fs.toDir( fileName.replace(fromDir, outdir) ); + fs.mkPath(toDir); + fs.copyFileSync(fileName, toDir); + }); + + if (sourceFilePaths.length) { + sourceFiles = shortenPaths( sourceFiles, path.commonPrefix(sourceFilePaths) ); + } + data().each(function(doclet) { + var url = helper.createLink(doclet); + helper.registerLink(doclet.longname, url); + + // add a shortened version of the full path + var docletPath; + if (doclet.meta) { + docletPath = getPathFromDoclet(doclet); + docletPath = sourceFiles[docletPath].shortened; + if (docletPath) { + doclet.meta.shortpath = docletPath; + } + } + }); + + data().each(function(doclet) { + var url = helper.longnameToUrl[doclet.longname]; + + if (url.indexOf('#') > -1) { + doclet.id = helper.longnameToUrl[doclet.longname].split(/#/).pop(); + } + else { + doclet.id = doclet.name; + } + + if ( needsSignature(doclet) ) { + addSignatureParams(doclet); + addSignatureReturns(doclet); + addAttribs(doclet); + } + }); + + // do this after the urls have all been generated + data().each(function(doclet) { + doclet.ancestors = getAncestorLinks(doclet); + + if (doclet.kind === 'member') { + addSignatureTypes(doclet); + addAttribs(doclet); + } + + if (doclet.kind === 'constant') { + addSignatureTypes(doclet); + addAttribs(doclet); + doclet.kind = 'member'; + } + }); + + var members = helper.getMembers(data); + + // add template helpers + view.find = find; + view.linkto = linkto; + view.resolveAuthorLinks = resolveAuthorLinks; + view.tutoriallink = tutoriallink; + view.htmlsafe = htmlsafe; + + // once for all + view.nav = buildNav(members); + attachModuleSymbols( find({ kind: ['class', 'function'], longname: {left: 'module:'} }), + members.modules ); + + if (members.globals.length) { generate('Global', [{kind: 'globalobj'}], globalUrl); } + + // index page displays information from package.json and lists files + var files = find({kind: 'file'}), + packages = find({kind: 'package'}); + + var origLayout = view.layout; + view.layout = 'indexLayout.tmpl'; + generate('Index', + packages.concat( + [{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}] + ).concat(files), + indexUrl); + view.layout = origLayout; + + // set up the lists that we'll use to generate pages + var classes = taffy(members.classes); + var modules = taffy(members.modules); + + var typesJson = {}; + + Object.keys(helper.longnameToUrl).forEach(function(longname) { + var items = helper.find(classes, {longname: longname}); + + if (!items.length) { + items = helper.find(modules, {longname: longname}); + } + + if (items.length) { + var title = items[0].name; + var filename = helper.longnameToUrl[longname]; + generate(title, items, filename); + + var titleLower = title.toLowerCase(); + + typesJson[titleLower] = typesJson[titleLower] || []; + typesJson[titleLower].push(filename); + + var members = find({kind: ['function','member'], memberof: longname}); + members.forEach(function(member) { + member = member.id; + var memberLower = member.toLowerCase(); + + typesJson[memberLower] = typesJson[memberLower] || []; + typesJson[memberLower].push(filename + '#' + member); + }); + } + }); + + fs.writeFileSync(outdir + '/types.txt', JSON.stringify(typesJson), 'utf8'); +}; diff --git a/Tools/jsdoc/cesium_template/static/icons/home.png b/Tools/jsdoc/cesium_template/static/icons/home.png new file mode 100644 index 0000000000000000000000000000000000000000..1eef7a308195c01f1abce9c1b6433ace6413432d GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eL!3HGH8OdY;DVB6cUq=Rpjs4tz5?O(K&H|6f zVg?4jeIU&E%4y>PprBNVYeY$Kep*R+Vo@qXKw@TIiJqTph(ejMo~fRpfx(xeg+Nt@ zJzX3_Ed2LQI?a2?fyaeCkVUq@o1fD+Kwkc$w78#4fRfOgH93~|6z@p9^ql?ij8~+j zi*(6#xwo0K_U}5~@a@mM+C_U=+-346FFqQyj%&A;jQ7fb`!brX$(>ARvu7nE0uIKT7Y< VPpK<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s9009a~L_t(IPkoZhjsZa!h5vRLvyfPO8%A1qN(q?}8)h}Ufwhf| zcmcDMU?IXe)m@#s{OTlMRdw}uQr)yf`TBV#QIbjjJ5yyMgT)z(YrswVvpZ&`K*3KY z<4rvhEf`p+6>b?#v|#X0(4>5Is@52aLcY`=WAsg1D3v!%SO^@y!1zA^lPEOGnfU}o*>if+huKInzm&EbK7WcRb= 0) { + item.style.display = ''; + } else { + item.style.display = 'none'; + } + } + } + classFilter.onkeyup = filter; + + function getQueryParameter(name) { + var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); + return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); + } + + var show = getQueryParameter('show'); + if (show) { + document.getElementById('filterType').value = show; + } + + var searchTerm = getQueryParameter('classFilter') || ''; + classFilter.value = searchTerm; + filter(); + + function resetFilter() { + classFilter.value = ''; + filter(); + } + + function updateMenuLinks() { + var links = classList.getElementsByTagName('a'); + var searchTerm = classFilter.value; + for (var i = 0; i < links.length; i++) { + var link = links[i]; + var prefix = link.href.split('?')[0]; + link.href = prefix + (searchTerm === '' ? '' : '?classFilter=' + searchTerm); + } + } + + var menuLinks = classList.getElementsByTagName('a'); + for (var i = 0; i < menuLinks.length; i++) { + menuLinks[i].onclick = function() { + updateMenuLinks(); + } + } +})(); \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/static/javascript/html5.js b/Tools/jsdoc/cesium_template/static/javascript/html5.js new file mode 100644 index 00000000000..448cebd79e7 --- /dev/null +++ b/Tools/jsdoc/cesium_template/static/javascript/html5.js @@ -0,0 +1,8 @@ +/* + HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); +a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); +if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css b/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css new file mode 100644 index 00000000000..47aad7fb7d9 --- /dev/null +++ b/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css @@ -0,0 +1,586 @@ +body +{ + font-size: 0.75em; + font-family: Arial, Geneva, sans serif; + margin: 0; + color: #000; + height: 100%; + background-color:transparent; +} + +div.show-bkgd { + width: 100%; + position: absolute; + top: 0; + left: 0; + background-attachment: fixed !important; + background-repeat: no-repeat; + background-repeat: no-repeat; + background: #67addf; /* Old browsers */ + background: -moz-linear-gradient(top, #67addf 3%, #ffffff 50%, #5c8727 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(3%,#67addf), color-stop(50%,#ffffff), color-stop(100%,#5c8727)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #67addf 3%,#ffffff 50%,#5c8727 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #67addf 3%,#ffffff 50%,#5c8727 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #67addf 3%,#ffffff 50%,#5c8727 100%); /* IE10+ */ + background: linear-gradient(to bottom, #67addf 3%,#ffffff 50%,#5c8727 100%); /* W3C */ +} + +.hide { + display: none; +} + +div.hr { + margin: 10px 40px 10px 0px; + height: 1px; + color: #DADADA; + background-color: #DADADA; +} + +a { + color: #0053CF; +} +a:link, +a:active, +a:visited { + color: #0053CF; +} + +a:hover, +a:focus { + color: ##004AB8; + text-decoration: none; +} + +header +{ + display: block; + padding: 6px 4px; +} + +.class-description { + font-style: italic; + font-family: Palatino, 'Palatino Linotype', serif; + font-size: 130%; + line-height: 140%; +} + +#main { + float: left; + width: 70%; + min-width: 300px; +} + +.embedded #main { + width: 97%; + position: relative; + top: 0; + left: 0; +} + +.popout { + display: block; + position: absolute; + top: 27px; + right: 10px; + font-size: 12pt; + height: 12px; + width: 12px; + background: url('../icons/popout.png') bottom; +} +.popout:hover { + background-position: 0 0; +} + +.back { + display: block; + position: absolute; + height: 12px; + width: 12px; + top: 27px; + left: 35px; + font-size: 12pt; + background: url('../icons/home.png') bottom; +} +.back:hover { + background-position: 0 0; +} + +section +{ + display: block; + border-bottom: 1px solid #ccc; + position: relative; + left: 10px; + margin: 0 0 15px 10px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + border-radius: 15px; + padding: 15px 15px 15px 15px; + background-color: #FFFFFF; + background-color: rgba(255, 255, 255, 1.0); + -moz-box-shadow: 0px 0px 10px #B2CCF0; + -webkit-box-shadow: 0px 0px 10px #B2CCF0; + box-shadow: 0px 0px 10px #B2CCF0; + /* margin-right: 240px; */ +} + +.variation { + display: none; +} + +.signature-attributes { + content: "opt"; + font-size: 60%; + color: #aaa; + font-style: italic; + font-weight: lighter; +} +/* Start menu */ +div.menu +{ + margin: 0 15px 0 -15px; + -moz-border-radius-bottomright: 15px; + -webkit-border-bottom-right-radius: 15px; + -border-bottom-right-radius: 15px; + padding: 15px 15px 15px 30px; + -moz-box-shadow: 0px 0px 10px #B2CCF0; + -webkit-box-shadow: 0px 0px 10px #B2CCF0; + box-shadow: 0px 0px 10px #B2CCF0; + background-color: rgba(255, 255, 255, 1.0); +} + +#mainIndex div.menu { + border-radius: 15px; + margin: 25px; + padding: 15px; +} + +.menuLogo { + width: 100%; + margin: 0 auto 10px auto; + display: block; +} + +.indexLogo { + display: block; + margin: 0 auto; + width: 250px; +} + +div.nav +{ + position: fixed; + top: 0; + bottom: 0; + left: 0; + float: left; + width: 30%; + min-width: 100px; + max-width: 300px; + padding: 0 0 10px 0; + overflow: auto; +} + +.embedded div.nav { + display: none; +} + +div.indexTitle +{ + padding: 8px 0 0; + font-size: 200%; + font-weight: bold; + position: absolute; +} + +div.nav div.divider +{ + margin-top: 0.5em; + margin-bottom: 0.5em; + border-bottom: 1px solid #999; + line-height: 1.0em; +} + +form +{ + display: block; +} + +.rightLinks { + display: block; + float: right; +} + +.indexLinks +{ + display: block; +} + +.indexLinks a +{ + font-family: M1m, Arial, sans-serif; + font-size: 14pt; + text-transform: lowercase; + text-decoration: none; + margin-right: 2px; + margin-bottom: 0; + border-right: 1px solid #999; + padding-right: 4px; +} + +.indexLinks a:hover +{ + text-decoration:underline; + cursor: pointer; +} + +.indexLinks a:last-child +{ + margin-right: 2px; + border-right: 0px; + padding-right: 4px; +} + +div.navStatic +{ + position: static; + min-height: 1em; + background: transparent; +} + +div.nav input.classFilter { + margin: 5px 10px 5px 0px; /*top, right, bottom, left*/ + width: 90%; + border-width: 1px; + border-style: solid; + border-color: #CCCCCC #999999 #999999 #CCCCCC; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -border-radius: 3px; +} + +#mainIndex div.nav input.classFilter { + max-width: 250px; +} +/* End menu */ + +nav +{ + display: block; + float: left; + margin-left: -230px; + margin-top: 28px; + width: 220px; + border-left: 1px solid #ccc; + padding-left: 9px; +} + +#mainIndex nav, #mainIndex div.nav { + position: static; + float: none; + margin: 0; + padding: 0; + width: auto; + height: auto; + border: none; + max-width: none; +} + +div.nav ul { + font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; + font-size: 100%; + line-height: 17px; + padding:0; + margin:0; + list-style-type:none; +} + +#mainIndex div.nav ul { + -webkit-columns: 250px; + -moz-columns: 250px; + columns: 250px; +} + +div.nav h3 { + margin-top: 12px; +} + +div.nav li { + margin-top: 6px; + list-style-type:none; +} + +nav a { + color: #5C5954; +} + +nav a:visited { + color: #5C5954; +} + +nav a:active { + color: #5C5954; +} + +footer { + display: block; + padding: 6px 6px 100%; /* Large bottom padding, so #anchors scroll correctly. */ + margin-top: 12px; + font-style: italic; + font-size: 90%; + text-align: center; +} + +#mainIndex footer { + padding: 6px; +} + +.page-title +{ + text-align: center; + font-size: 2em; + font-weight: bold; + letter-spacing: 2px; + line-height: 1em; + position: relative; + left: 10px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + border-radius: 15px; + padding: 15px; + background-color: #FFFFFF; + background-color: rgba(255, 255, 255, 1.0); + -moz-box-shadow: 0px 0px 10px #B2CCF0; + -webkit-box-shadow: 0px 0px 10px #B2CCF0; + box-shadow: 0px 0px 10px #B2CCF0; +} + +#mainIndex .page-title { + margin-right: 30px; +} + +h1 +{ + font-size: 200%; + font-weight: bold; + letter-spacing: -0.01em; + margin: 6px 0 10px 10px; +} + +h2 +{ + font-size: 170%; + font-weight: bold; + letter-spacing: -0.01em; + margin: 6px 0 3px 0; +} + +h3 +{ + font-size: 200%; + font-weight: bold; + letter-spacing: -0.01em; + margin-top: 20px; + margin: 6px 0 3px 0; +} + +h4 +{ + font-size: 140%; + font-weight: bold; + letter-spacing: -0.01em; + margin: 18px 0; + color: #A35A00; +} + +h5, .container-overview .subsection-title +{ + font-size: 120%; + font-weight: bold; + letter-spacing: -0.01em; + margin: 8px 0 3px 0px; +} + +h6 +{ + font-size: 100%; + letter-spacing: -0.01em; + margin: 6px 0 3px 0; + font-style: italic; +} + +.ancestors { color: #999; } +.ancestors a +{ + color: #999 !important; + text-decoration: none; +} + +.important +{ + font-weight: bold; + color: #950B02; +} + +.yes-def { + text-indent: -1000px; +} + +.type-signature { + color: #aaa; +} + +.name, .signature { + font-family: Consolas, "Lucida Console", Monaco, monospace; +} + +.details { margin-top: 14px; } +.details dt { width:100px; float:left; border-left: 2px solid #DDD; padding-left: 10px; padding-top: 6px; } +#main ul { margin: 0; } +#main ul { list-style-type: none; } + +dd { margin-left: 0.8em; } + +.see-list li{ + margin: 0; + padding: 0; +} + +.code-caption +{ + font-style: italic; + font-family: Palatino, 'Palatino Linotype', serif; + font-size: 107%; + margin: 0; +} + +.sh_sourceCode +{ + border: 1px solid #ddd; + width: 80%; +} + +.sh_sourceCode code +{ + font-family: Consolas, 'Lucida Console', Monaco, monospace; + font-size: 100%; + line-height: 18px; + display: block; + padding: 4px 12px; + margin: 0; + background-color: #fff; + color: #000; + border-left: 3px #ddd solid; +} + +.params, .props +{ + border-spacing: 0; + border: 0; + border-collapse: collapse; +} + +.params .name, .props .name, .name code { + color: #A35A00; + font-family: Consolas, 'Lucida Console', Monaco, monospace; + font-size: 100%; +} + +.params td, .params th, .props td, .props th +{ + border: 1px solid #ddd; + margin: 0px; + text-align: left; + vertical-align: top; + padding: 4px 6px; + display: table-cell; +} + +.params thead tr, .props thead tr +{ + background-color: #ddd; + font-weight: bold; +} + +.params .params thead tr, .props .props thead tr +{ + background-color: #fff; + font-weight: bold; +} + +.params th, .props th { border-right: 1px solid #aaa; } +.params thead .last, .props thead .last { border-right: 1px solid #ddd; } + +.params .optional { + float: left; + border-radius: 3px; + background-color: #ddd!important; + font-size: 0.7em; + padding: 2px 4px; + margin-right: 5px; + color: gray; +} + +.colorSwath { + display: inline-block; + width: 15em; + height: 1.4em; + position: absolute; + left: 36em; + border: solid 1px #000; + border-radius: 5px; +} + +.disabled { + color: #454545; +} + +/* For printing out the documentation */ +@media print { + body { + background: #fff; + } + .nav { + display: none; + } + #mainIndex .nav { + display: block; + } + #main { + float: none; + width: auto; + margin-right: 25px; + } + footer { + padding: 6px; + } + .colorSwath { + display: none; + } +} + +.permalink:link, .permalink:active, .permalink:visited { + text-decoration: none; + color: #A35A00; +} + +.permalink:hover { + text-decoration: none; + border-bottom: 1px solid #A35A00; +} + +span.attribute-static, +span.attribute-readonly, +span.attribute-constant { + display: inline-block; + border-radius: 3px; + background-color: #779c34 !important; + color: #fff; + font-size: 0.7em; + padding: 2px 4px; + margin-right: 8px; +} + +.description { + margin: 1em 0; +} \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/static/styles/node-dark.css b/Tools/jsdoc/cesium_template/static/styles/node-dark.css new file mode 100644 index 00000000000..5849e23410a --- /dev/null +++ b/Tools/jsdoc/cesium_template/static/styles/node-dark.css @@ -0,0 +1,150 @@ + .sh_sourceCode { + background-color: #ffffff; + color: #000000; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_keyword { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_type { + color: #a52a2a; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_string { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_regexp { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_specialchar { + color: #2e8b57; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_comment { + color: #000000; + font-weight: normal; + font-style: italic; +} + + .sh_sourceCode .sh_number { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_preproc { + color: #27408b; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_symbol { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_function { + color: #000000; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_cbracket { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_url { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_date { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_time { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_file { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_ip { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_name { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_variable { + color: #dda0dd; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_oldfile { + color: #2e8b57; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_newfile { + color: #006400; + font-weight: normal; + font-style: normal; +} + + .sh_sourceCode .sh_difflines { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_selector { + color: #dda0dd; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_property { + color: #000000; + font-weight: bold; + font-style: normal; +} + + .sh_sourceCode .sh_value { + color: #006400; + font-weight: normal; + font-style: normal; +} diff --git a/Tools/jsdoc/cesium_template/static/styles/shCore.css b/Tools/jsdoc/cesium_template/static/styles/shCore.css new file mode 100644 index 00000000000..34f6864a155 --- /dev/null +++ b/Tools/jsdoc/cesium_template/static/styles/shCore.css @@ -0,0 +1,226 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} diff --git a/Tools/jsdoc/cesium_template/static/styles/shThemeDefault.css b/Tools/jsdoc/cesium_template/static/styles/shThemeDefault.css new file mode 100644 index 00000000000..c09b9195df7 --- /dev/null +++ b/Tools/jsdoc/cesium_template/static/styles/shThemeDefault.css @@ -0,0 +1,120 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: white !important; +} +.syntaxhighlighter .line.alt1 { + background-color: white !important; +} +.syntaxhighlighter .line.alt2 { + background-color: white !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #e0e0e0 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: black !important; +} +.syntaxhighlighter table caption { + color: black !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #6ce26c !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #6ce26c !important; + color: white !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: blue !important; + background: white !important; + border: 1px solid #6ce26c !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: blue !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: red !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #6ce26c !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: black !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #008200 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: blue !important; +} +.syntaxhighlighter .keyword { + color: #006699 !important; +} +.syntaxhighlighter .symbol { + color: #E00000 !important; +} +.syntaxhighlighter .preprocessor { + color: gray !important; +} +.syntaxhighlighter .variable { + color: #aa7700 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ff1493 !important; +} +.syntaxhighlighter .constants { + color: #0066cc !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #006699 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: gray !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; +} + +.syntaxhighlighter .keyword { + font-weight: bold !important; +} diff --git a/Tools/jsdoc/cesium_template/tmpl/container.tmpl b/Tools/jsdoc/cesium_template/tmpl/container.tmpl new file mode 100644 index 00000000000..4a0d92813c3 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/container.tmpl @@ -0,0 +1,147 @@ + + + + + + + + +
+ +
+ +
+ +
+ +
+
+ + + + + + + + +
+ + + + + +
Example 1? 's':'' ?>
+ + + +
+ + +

Extends

+ +
    +
  • +
+ + + +

Mixes In

+ +
    +
  • +
+ + + +

Requires

+ +
    +
  • +
+ + + +

Classes

+ +
+
+
+
+ + + +

Namespaces

+ +
+
+
+
+ + + +

Members

+ +
+ +
+ + + +

Methods

+ +
+ +
+ + + +

Type Definitions

+ +
+ + + +
+ + + +

Events

+ +
+ +
+ +
+ +
+ + + diff --git a/Tools/jsdoc/cesium_template/tmpl/details.tmpl b/Tools/jsdoc/cesium_template/tmpl/details.tmpl new file mode 100644 index 00000000000..9d383d74668 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/details.tmpl @@ -0,0 +1,110 @@ +" + data.defaultvalue + ""; + defaultObjectClass = ' class="object-value"'; +} +?> +
+ + +
Properties:
+ +
+ + + + +
Version:
+
+ + + +
Since:
+
+ + + +
Inherited From:
+
  • + +
+ + + +
Deprecated:
  • Yes
    + + + +
    Author:
    +
    +
      +
    • +
    +
    + + + + + + + + +
    License:
    +
    + + + +
    Default Value:
    + > + + + +
    Source:
    +
    • + , +
    + + + +
    Tutorials:
    +
    +
      +
    • +
    +
    + + + +
    Demo:
    +
      +
    • +
    + + + +
    See:
    +
      +
    • +
    + + + +
    To Do:
    +
    +
      +
    • +
    +
    + +
    diff --git a/Tools/jsdoc/cesium_template/tmpl/example.tmpl b/Tools/jsdoc/cesium_template/tmpl/example.tmpl new file mode 100644 index 00000000000..e87caa5b72c --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/example.tmpl @@ -0,0 +1,2 @@ + +
    diff --git a/Tools/jsdoc/cesium_template/tmpl/examples.tmpl b/Tools/jsdoc/cesium_template/tmpl/examples.tmpl new file mode 100644 index 00000000000..3ff18f6fc4a --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/examples.tmpl @@ -0,0 +1,13 @@ + +

    + +
    + \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/exceptions.tmpl b/Tools/jsdoc/cesium_template/tmpl/exceptions.tmpl new file mode 100644 index 00000000000..c9d877bf6ca --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/exceptions.tmpl @@ -0,0 +1,16 @@ + + +
    + : +
    + +
    + + + + + +
    + diff --git a/Tools/jsdoc/cesium_template/tmpl/indexLayout.tmpl b/Tools/jsdoc/cesium_template/tmpl/indexLayout.tmpl new file mode 100644 index 00000000000..03468fd3dad --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/indexLayout.tmpl @@ -0,0 +1,59 @@ + + + + + + <?js= (title ? (title + ' - ') : '') + 'Cesium Documentation' ?> + + + + + + + + + + + + +
    + +
    + + + + + +
    + Documentation generated by JSDoc +
    +
    + +
    + +
    + + + + + + + \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/layout.tmpl b/Tools/jsdoc/cesium_template/tmpl/layout.tmpl new file mode 100644 index 00000000000..4b80a17ab46 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/layout.tmpl @@ -0,0 +1,76 @@ + + + + + + <?js= (title ? (title + ' - ') : '') + 'Cesium Documentation' ?> + + + + + + + + + + + + +
    + + + + + +
    + +

    + + + +
    + Documentation generated by JSDoc +
    +
    + +
    + +
    + + + + + + + \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/mainpage.tmpl b/Tools/jsdoc/cesium_template/tmpl/mainpage.tmpl new file mode 100644 index 00000000000..64e9e5943a1 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/mainpage.tmpl @@ -0,0 +1,14 @@ + + + +

    + + + +
    +
    +
    + diff --git a/Tools/jsdoc/cesium_template/tmpl/members.tmpl b/Tools/jsdoc/cesium_template/tmpl/members.tmpl new file mode 100644 index 00000000000..2f85784c151 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/members.tmpl @@ -0,0 +1,32 @@ + +
    +

    + + +

    + +
    +
    + +
    + +
    + + + + + +
    Fires:
    +
      +
    • +
    + + + +
    Example 1? 's':'' ?>
    + + +
    diff --git a/Tools/jsdoc/cesium_template/tmpl/method.tmpl b/Tools/jsdoc/cesium_template/tmpl/method.tmpl new file mode 100644 index 00000000000..b3a8deca740 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/method.tmpl @@ -0,0 +1,100 @@ + +
    +

    + +

    + + +

    + +
    +
    + + +
    + +
    + + + +
    Performance:
    +

    + + + +
    Type:
    +
      +
    • + +
    • +
    + + + +
    This:
    +
    + + + + + + + + + +
    Requires:
    +
      +
    • +
    + + + +
    Fires:
    +
      +
    • +
    + + + +
    Listens to Events:
    +
      +
    • +
    + + + +
    Listeners of This Event:
    +
      +
    • +
    + + + +
    Throws:
    +
      +
    • +
    + + + +
    Returns:
    + 1) { ?>
      +
    • +
    + + + + +
    Example 1? 's':'' ?>
    + + +
    diff --git a/Tools/jsdoc/cesium_template/tmpl/params.tmpl b/Tools/jsdoc/cesium_template/tmpl/params.tmpl new file mode 100644 index 00000000000..a4056559952 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/params.tmpl @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDefaultDescription
    + + + + + + + + + + + optional + + + nullable + + + + repeatable + + + + +
    \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/properties.tmpl b/Tools/jsdoc/cesium_template/tmpl/properties.tmpl new file mode 100644 index 00000000000..58f412f2dc6 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/properties.tmpl @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDefaultDescription
    + + + + + + <optional>
    + + + + <nullable>
    + +
    + + + + +
    Properties
    +
    \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/returns.tmpl b/Tools/jsdoc/cesium_template/tmpl/returns.tmpl new file mode 100644 index 00000000000..6f850151e07 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/returns.tmpl @@ -0,0 +1,8 @@ + +
    + +
    + diff --git a/Tools/jsdoc/cesium_template/tmpl/source.tmpl b/Tools/jsdoc/cesium_template/tmpl/source.tmpl new file mode 100644 index 00000000000..e559b5d1038 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/source.tmpl @@ -0,0 +1,8 @@ + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/tutorial.tmpl b/Tools/jsdoc/cesium_template/tmpl/tutorial.tmpl new file mode 100644 index 00000000000..88a0ad52aa2 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/tutorial.tmpl @@ -0,0 +1,19 @@ +
    + +
    + 0) { ?> +
      +
    • +
    + + +

    +
    + +
    + +
    + +
    diff --git a/Tools/jsdoc/cesium_template/tmpl/type.tmpl b/Tools/jsdoc/cesium_template/tmpl/type.tmpl new file mode 100644 index 00000000000..ec2c6c0df72 --- /dev/null +++ b/Tools/jsdoc/cesium_template/tmpl/type.tmpl @@ -0,0 +1,7 @@ + + +| + \ No newline at end of file diff --git a/Tools/jsdoc/conf.json b/Tools/jsdoc/conf.json new file mode 100644 index 00000000000..341f1b3795c --- /dev/null +++ b/Tools/jsdoc/conf.json @@ -0,0 +1,22 @@ +{ + "tags": { + "allowUnknownTags": false + }, + "source": { + "include": ["Source"], + "exclude": ["Source/ThirdParty", "Source/Workers/cesiumWorkerBootstrapper.js"], + "includePattern": ".+\\.js(doc)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + "plugins": ["cesiumTags"], + "templates": { + "cleverLinks": true, + "cesium_template": { + "outputSourceFiles": false + } + }, + "opts": { + "destination": "Build/DocumentationNew", + "recurse": true + } +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000000..1776e3203af --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "cesium", + "version": "0.28.0", + "description": "Cesium is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.", + "homepage": "http://cesiumjs.org", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/AnalyticalGraphicsInc/cesium.git" + }, + "devDependencies": { + "jsdoc": "3.3.0-alpha5" + } +} \ No newline at end of file From 97e2ae55e64ddb46759aaeb60fda7d08e6c50a5c Mon Sep 17 00:00:00 2001 From: Scott Hunter Date: Fri, 23 May 2014 18:36:27 -0400 Subject: [PATCH 2/5] More work towards upgraded JSDoc --- Tools/jsdoc/cesiumTags.js | 46 +++++++++---------- Tools/jsdoc/cesium_template/publish.js | 31 ++----------- .../static/styles/jsdoc-default.css | 10 ++++ Tools/jsdoc/cesium_template/tmpl/details.tmpl | 15 ++++-- Tools/jsdoc/cesium_template/tmpl/members.tmpl | 16 +++---- Tools/jsdoc/cesium_template/tmpl/method.tmpl | 26 +++++------ Tools/jsdoc/conf.json | 8 ++-- build.xml | 41 +++-------------- 8 files changed, 78 insertions(+), 115 deletions(-) diff --git a/Tools/jsdoc/cesiumTags.js b/Tools/jsdoc/cesiumTags.js index 8da660ba14a..7f5970b051c 100644 --- a/Tools/jsdoc/cesiumTags.js +++ b/Tools/jsdoc/cesiumTags.js @@ -1,41 +1,39 @@ -/** - @overview Define custom tags for Cesium - @author Kristian Calhoun - */ - exports.defineTags = function(dictionary) { - dictionary.lookUp('class').synonym('internalConstructor'); dictionary.defineTag('exports', { - mustHaveValue: true, - onTagged: function(doclet, tag) { + mustHaveValue : true, + onTagged : function(doclet, tag) { doclet.addTag('alias', tag.value); doclet.addTag('kind', 'module'); doclet.longname = tag.value; - } + } }).synonym('enumeration'); dictionary.defineTag('glsl', { - onTagged: function(doclet, tag) { + onTagged : function(doclet, tag) { doclet.addTag('kind', 'glsl'); doclet.filename = doclet.name; } }).synonym('glslStruct').synonym('glslUniform').synonym('glslConstant').synonym('glslFunction'); - dictionary.defineTag('performance', { - mustHaveValue: true, - onTagged: function(doclet, tag) { - if (!doclet.performance) { doclet.performance = []; } - doclet.performance.push(tag.value); - } - }); + dictionary.defineTag('performance', { + mustHaveValue : true, + onTagged : function(doclet, tag) { + if (!doclet.performance) { + doclet.performance = []; + } + doclet.performance.push(tag.value); + } + }); - dictionary.defineTag('demo', { - mustHaveValue: true, - onTagged: function(doclet, tag) { - if (!doclet.demo) { doclet.demo = []; } - doclet.demo.push(tag.value); - } - }); + dictionary.defineTag('demo', { + mustHaveValue : true, + onTagged : function(doclet, tag) { + if (!doclet.demo) { + doclet.demo = []; + } + doclet.demo.push(tag.value); + } + }); }; \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/publish.js b/Tools/jsdoc/cesium_template/publish.js index 8b66c0c3cfd..057013c3d0d 100644 --- a/Tools/jsdoc/cesium_template/publish.js +++ b/Tools/jsdoc/cesium_template/publish.js @@ -118,6 +118,7 @@ function generate(title, docs, filename, resolveLinks) { resolveLinks = resolveLinks === false ? false : true; var docData = { + filename: filename, title: title, docs: docs }; @@ -132,29 +133,6 @@ function generate(title, docs, filename, resolveLinks) { fs.writeFileSync(outpath, html, 'utf8'); } -function generateSourceFiles(sourceFiles, encoding) { - encoding = encoding || 'utf8'; - Object.keys(sourceFiles).forEach(function(file) { - var source; - // links are keyed to the shortened path in each doclet's `meta.shortpath` property - var sourceOutfile = helper.getUniqueFilename(sourceFiles[file].shortened); - helper.registerLink(sourceFiles[file].shortened, sourceOutfile); - - try { - source = { - kind: 'source', - code: helper.htmlsafe( fs.readFileSync(sourceFiles[file].resolved, encoding) ) - }; - } - catch(e) { - logger.error('Error while generating source file %s: %s', file, e.message); - } - - generate('Source: ' + sourceFiles[file].shortened, [source], sourceOutfile, - false); - }); -} - /** * Look for classes or functions with the same name as modules (which indicates that the module * exports only that class or function), then attach the classes or functions to the `module` @@ -229,7 +207,7 @@ exports.publish = function(taffyData, opts, tutorials) { data = taffyData; var conf = env.conf.templates || {}; - conf['cesium_template'] = conf['cesium_template'] || {}; + conf['default'] = conf['default'] || {}; var templatePath = opts.template; view = new template.Template(templatePath + '/tmpl'); @@ -316,13 +294,14 @@ exports.publish = function(taffyData, opts, tutorials) { var url = helper.createLink(doclet); helper.registerLink(doclet.longname, url); - // add a shortened version of the full path + // replace the filename with a shortened version of the full path var docletPath; if (doclet.meta) { docletPath = getPathFromDoclet(doclet); docletPath = sourceFiles[docletPath].shortened; if (docletPath) { - doclet.meta.shortpath = docletPath; + doclet.meta.filename = docletPath; + doclet.meta.sourceUrl = conf['sourceUrl'].replace('{version}', process.env.CESIUM_VERSION).replace('{filename}', docletPath); } } }); diff --git a/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css b/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css index 47aad7fb7d9..696c4368d6c 100644 --- a/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css +++ b/Tools/jsdoc/cesium_template/static/styles/jsdoc-default.css @@ -434,6 +434,11 @@ h6 font-family: Consolas, "Lucida Console", Monaco, monospace; } +.nameContainer .signature { + font-size: 90%; + font-weight: normal; +} + .details { margin-top: 14px; } .details dt { width:100px; float:left; border-left: 2px solid #DDD; padding-left: 10px; padding-top: 6px; } #main ul { margin: 0; } @@ -583,4 +588,9 @@ span.attribute-constant { .description { margin: 1em 0; +} + +.source-link { + font-size: 85%; + margin-top: 8px; } \ No newline at end of file diff --git a/Tools/jsdoc/cesium_template/tmpl/details.tmpl b/Tools/jsdoc/cesium_template/tmpl/details.tmpl index 9d383d74668..041cb0768a9 100644 --- a/Tools/jsdoc/cesium_template/tmpl/details.tmpl +++ b/Tools/jsdoc/cesium_template/tmpl/details.tmpl @@ -69,11 +69,9 @@ if (data.defaultvalue && (data.defaultvaluetype === 'object' || data.defaultvalu > - -
    Source:
    -
    • - , -
    + +
    Example 1? 's':'' ?>
    + @@ -107,4 +105,11 @@ if (data.defaultvalue && (data.defaultvaluetype === 'object' || data.defaultvalu + + + + diff --git a/Tools/jsdoc/cesium_template/tmpl/members.tmpl b/Tools/jsdoc/cesium_template/tmpl/members.tmpl index 2f85784c151..456b0d95143 100644 --- a/Tools/jsdoc/cesium_template/tmpl/members.tmpl +++ b/Tools/jsdoc/cesium_template/tmpl/members.tmpl @@ -3,8 +3,13 @@ var data = obj; var self = this; ?>
    -

    - +
    +

    + +

    + +
    +

    @@ -16,8 +21,6 @@ var self = this; - -
    Fires:
      @@ -25,8 +28,5 @@ var self = this;
    - -
    Example 1? 's':'' ?>
    - - + diff --git a/Tools/jsdoc/cesium_template/tmpl/method.tmpl b/Tools/jsdoc/cesium_template/tmpl/method.tmpl index b3a8deca740..d20d084f579 100644 --- a/Tools/jsdoc/cesium_template/tmpl/method.tmpl +++ b/Tools/jsdoc/cesium_template/tmpl/method.tmpl @@ -3,10 +3,13 @@ var data = obj; var self = this; ?>
    +

    +
    +

    @@ -42,8 +45,6 @@ var self = this; - -
    Requires:
      @@ -72,15 +73,6 @@ var self = this;
    - -
    Throws:
    -
      -
    • -
    - -
    Returns:
    1) { ?>