mirror of
https://github.com/jsdoc/jsdoc.git
synced 2025-12-08 19:46:11 +00:00
hide source location if outputSourceFiles is false (#571)
This commit is contained in:
parent
34d98ed438
commit
8a50d1f064
@ -108,13 +108,15 @@ function getPathFromDoclet(doclet) {
|
||||
doclet.meta.filename;
|
||||
}
|
||||
|
||||
function generate(title, docs, filename, resolveLinks) {
|
||||
resolveLinks = resolveLinks === false ? false : true;
|
||||
function generate(title, docs, filename, opts) {
|
||||
opts = opts || {};
|
||||
|
||||
var docData = {
|
||||
title: title,
|
||||
docs: docs
|
||||
docs: docs,
|
||||
opts: opts
|
||||
};
|
||||
var resolveLinks = (opts.resolveLinks === false) ? false : true;
|
||||
|
||||
var outpath = path.join(outdir, filename),
|
||||
html = view.render('container.tmpl', docData);
|
||||
@ -145,7 +147,7 @@ function generateSourceFiles(sourceFiles, encoding) {
|
||||
}
|
||||
|
||||
generate('Source: ' + sourceFiles[file].shortened, [source], sourceOutfile,
|
||||
false);
|
||||
{ resolveLinks: false });
|
||||
});
|
||||
}
|
||||
|
||||
@ -480,13 +482,25 @@ exports.publish = function(taffyData, opts, tutorials) {
|
||||
attachModuleSymbols( find({ kind: ['class', 'function'], longname: {left: 'module:'} }),
|
||||
members.modules );
|
||||
|
||||
// output pretty-printed source files by default; do this before generating any other pages, so
|
||||
// that the other pages can link to the source files
|
||||
if (!conf['default'] || conf['default'].outputSourceFiles !== false) {
|
||||
var generateOpts = {
|
||||
// output pretty-printed source files by default
|
||||
outputSourceFiles: (function(c) {
|
||||
if (!c || c.outputSourceFiles !== false) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
})(conf['default'])
|
||||
};
|
||||
|
||||
// generate pretty-printed source files first so other pages can link to them
|
||||
if (generateOpts.outputSourceFiles) {
|
||||
generateSourceFiles(sourceFiles, opts.encoding);
|
||||
}
|
||||
|
||||
if (members.globals.length) { generate('Global', [{kind: 'globalobj'}], globalUrl); }
|
||||
if (members.globals.length) {
|
||||
generate('Global', [{kind: 'globalobj'}], globalUrl, generateOpts);
|
||||
}
|
||||
|
||||
// index page displays information from package.json and lists files
|
||||
var files = find({kind: 'file'}),
|
||||
@ -496,7 +510,7 @@ exports.publish = function(taffyData, opts, tutorials) {
|
||||
packages.concat(
|
||||
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
|
||||
).concat(files),
|
||||
indexUrl);
|
||||
indexUrl, generateOpts);
|
||||
|
||||
// set up the lists that we'll use to generate pages
|
||||
var classes = taffy(members.classes);
|
||||
@ -508,27 +522,32 @@ exports.publish = function(taffyData, opts, tutorials) {
|
||||
Object.keys(helper.longnameToUrl).forEach(function(longname) {
|
||||
var myClasses = helper.find(classes, {longname: longname});
|
||||
if (myClasses.length) {
|
||||
generate('Class: ' + myClasses[0].name, myClasses, helper.longnameToUrl[longname]);
|
||||
generate('Class: ' + myClasses[0].name, myClasses, helper.longnameToUrl[longname],
|
||||
generateOpts);
|
||||
}
|
||||
|
||||
var myModules = helper.find(modules, {longname: longname});
|
||||
if (myModules.length) {
|
||||
generate('Module: ' + myModules[0].name, myModules, helper.longnameToUrl[longname]);
|
||||
generate('Module: ' + myModules[0].name, myModules, helper.longnameToUrl[longname],
|
||||
generateOpts);
|
||||
}
|
||||
|
||||
var myNamespaces = helper.find(namespaces, {longname: longname});
|
||||
if (myNamespaces.length) {
|
||||
generate('Namespace: ' + myNamespaces[0].name, myNamespaces, helper.longnameToUrl[longname]);
|
||||
generate('Namespace: ' + myNamespaces[0].name, myNamespaces,
|
||||
helper.longnameToUrl[longname], generateOpts);
|
||||
}
|
||||
|
||||
var myMixins = helper.find(mixins, {longname: longname});
|
||||
if (myMixins.length) {
|
||||
generate('Mixin: ' + myMixins[0].name, myMixins, helper.longnameToUrl[longname]);
|
||||
generate('Mixin: ' + myMixins[0].name, myMixins, helper.longnameToUrl[longname],
|
||||
generateOpts);
|
||||
}
|
||||
|
||||
var myExternals = helper.find(externals, {longname: longname});
|
||||
if (myExternals.length) {
|
||||
generate('External: ' + myExternals[0].name, myExternals, helper.longnameToUrl[longname]);
|
||||
generate('External: ' + myExternals[0].name, myExternals,
|
||||
helper.longnameToUrl[longname], generateOpts);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
docs.forEach(function(doc, i) {
|
||||
?>
|
||||
@ -37,7 +38,7 @@
|
||||
<div class="description"><?js= doc.description ?></div>
|
||||
<?js } ?>
|
||||
|
||||
<?js= self.partial('details.tmpl', doc) ?>
|
||||
<?js= self.partial('details.tmpl', { doc: doc, opts: data.opts }) ?>
|
||||
|
||||
<?js if (doc.examples && doc.examples.length) { ?>
|
||||
<h3>Example<?js= doc.examples.length > 1? 's':'' ?></h3>
|
||||
|
||||
@ -1,17 +1,18 @@
|
||||
<?js
|
||||
var data = obj;
|
||||
var doc = data.doc || {};
|
||||
var self = this;
|
||||
var defaultObjectClass = '';
|
||||
|
||||
// Check if the default value is an object, if so, apply code highlighting
|
||||
if (data.defaultvalue && data.defaultvaluetype === 'object') {
|
||||
data.defaultvalue = "<pre class=\"prettyprint\"><code>" + data.defaultvalue + "</code></pre>";
|
||||
if (doc.defaultvalue && doc.defaultvaluetype === 'object') {
|
||||
doc.defaultvalue = "<pre class=\"prettyprint\"><code>" + doc.defaultvalue + "</code></pre>";
|
||||
defaultObjectClass = ' class="object-value"';
|
||||
}
|
||||
?>
|
||||
<dl class="details">
|
||||
<?js
|
||||
var properties = data.properties;
|
||||
var properties = doc.properties;
|
||||
if (properties && properties.length && properties.forEach) {
|
||||
?>
|
||||
|
||||
@ -21,85 +22,85 @@ if (data.defaultvalue && data.defaultvaluetype === 'object') {
|
||||
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.version) {?>
|
||||
<?js if (doc.version) {?>
|
||||
<dt class="tag-version">Version:</dt>
|
||||
<dd class="tag-version"><ul class="dummy"><li><?js= version ?></li></ul></dd>
|
||||
<dd class="tag-version"><ul class="dummy"><li><?js= doc.version ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.since) {?>
|
||||
<?js if (doc.since) {?>
|
||||
<dt class="tag-since">Since:</dt>
|
||||
<dd class="tag-since"><ul class="dummy"><li><?js= since ?></dd>
|
||||
<dd class="tag-since"><ul class="dummy"><li><?js= doc.since ?></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.inherited && data.inherits) { ?>
|
||||
<?js if (doc.inherited && doc.inherits) { ?>
|
||||
<dt class="inherited-from">Inherited From:</dt>
|
||||
<dd class="inherited-from"><ul class="dummy"><li>
|
||||
<?js= this.linkto(data.inherits, this.htmlsafe(data.inherits)) ?>
|
||||
<?js= this.linkto(doc.inherits, this.htmlsafe(doc.inherits)) ?>
|
||||
</li></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.deprecated) { ?>
|
||||
<?js if (doc.deprecated) { ?>
|
||||
<dt class="important tag-deprecated">Deprecated:</dt><?js
|
||||
if (data.deprecated === true) { ?><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd><?js }
|
||||
else { ?><dd><ul class="dummy"><li><?js= data.deprecated ?></li><ul></dd><?js }
|
||||
if (doc.deprecated === true) { ?><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd><?js }
|
||||
else { ?><dd><ul class="dummy"><li><?js= doc.deprecated ?></li><ul></dd><?js }
|
||||
?>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.author && author.length) {?>
|
||||
<?js if (doc.author && doc.author.length) {?>
|
||||
<dt class="tag-author">Author:</dt>
|
||||
<dd class="tag-author">
|
||||
<ul><?js author.forEach(function(a) { ?>
|
||||
<ul><?js doc.author.forEach(function(a) { ?>
|
||||
<li><?js= self.resolveAuthorLinks(a) ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.copyright) {?>
|
||||
<?js if (doc.copyright) {?>
|
||||
<dt class="tag-copyright">Copyright:</dt>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li><?js= copyright ?></li></ul></dd>
|
||||
<dd class="tag-copyright"><ul class="dummy"><li><?js= doc.copyright ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.license) {?>
|
||||
<?js if (doc.license) {?>
|
||||
<dt class="tag-license">License:</dt>
|
||||
<dd class="tag-license"><ul class="dummy"><li><?js= license ?></li></ul></dd>
|
||||
<dd class="tag-license"><ul class="dummy"><li><?js= doc.license ?></li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.defaultvalue) {?>
|
||||
<?js if (doc.defaultvalue) {?>
|
||||
<dt class="tag-default">Default Value:</dt>
|
||||
<dd class="tag-default"><ul class="dummy">
|
||||
<li<?js= defaultObjectClass ?>><?js= data.defaultvalue ?></li>
|
||||
<li<?js= defaultObjectClass ?>><?js= doc.defaultvalue ?></li>
|
||||
</ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.meta) {?>
|
||||
<?js if (doc.meta && data.opts.outputSourceFiles) {?>
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<?js= self.linkto(meta.shortpath) ?>, <?js= self.linkto(meta.shortpath, 'line ' + meta.lineno, null, 'line' + meta.lineno) ?>
|
||||
<?js= self.linkto(doc.meta.shortpath) ?>, <?js= self.linkto(doc.meta.shortpath, 'line ' + doc.meta.lineno, null, 'line' + doc.meta.lineno) ?>
|
||||
</li></ul></dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.tutorials && tutorials.length) {?>
|
||||
<?js if (doc.tutorials && doc.tutorials.length) {?>
|
||||
<dt class="tag-tutorial">Tutorials:</dt>
|
||||
<dd class="tag-tutorial">
|
||||
<ul><?js tutorials.forEach(function(t) { ?>
|
||||
<ul><?js doc.tutorials.forEach(function(t) { ?>
|
||||
<li><?js= self.tutoriallink(t) ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.see && see.length) {?>
|
||||
<?js if (doc.see && doc.see.length) {?>
|
||||
<dt class="tag-see">See:</dt>
|
||||
<dd class="tag-see">
|
||||
<ul><?js see.forEach(function(s) { ?>
|
||||
<ul><?js doc.see.forEach(function(s) { ?>
|
||||
<li><?js= self.linkto(s) ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
<?js } ?>
|
||||
|
||||
<?js if (data.todo && todo.length) {?>
|
||||
<?js if (doc.todo && doc.todo.length) {?>
|
||||
<dt class="tag-todo">To Do:</dt>
|
||||
<dd class="tag-todo">
|
||||
<ul><?js todo.forEach(function(t) { ?>
|
||||
<ul><?js doc.todo.forEach(function(t) { ?>
|
||||
<li><?js= t ?></li>
|
||||
<?js }); ?></ul>
|
||||
</dd>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user