diff --git a/lib/jsdoc/util/templateHelper.js b/lib/jsdoc/util/templateHelper.js index 871bd7a3..574d2b47 100644 --- a/lib/jsdoc/util/templateHelper.js +++ b/lib/jsdoc/util/templateHelper.js @@ -133,12 +133,15 @@ function hasUrlPrefix(text) { * @param {string=} linktext - The text to display for the link, or `longname` if no text is * provided. * @param {string=} cssClass - The CSS class (or classes) to include in the link's `` tag. + * @param {string=} fragmentId - The fragment identifier (for example, `name` in `foo.html#name`) to + * append to the link target. * @return {string} The HTML link, or a plain-text string if the link is not available. */ -var linkto = exports.linkto = function(longname, linktext, cssClass) { +var linkto = exports.linkto = function(longname, linktext, cssClass, fragmentId) { var catharsis = require('catharsis'); var classString = cssClass ? util.format(' class="%s"', cssClass) : ''; + var fragmentString = fragmentId ? '#' + fragmentId : ''; var text = linktext || longname; var url = hasOwnProp.call(longnameToUrl, longname) && longnameToUrl[longname]; var parsedType; @@ -168,7 +171,7 @@ var linkto = exports.linkto = function(longname, linktext, cssClass) { return text; } else { - return util.format('%s', url, classString, text); + return util.format('%s', url, fragmentString, classString, text); } }; diff --git a/templates/default/static/scripts/linenumber.js b/templates/default/static/scripts/linenumber.js new file mode 100644 index 00000000..a0c570d5 --- /dev/null +++ b/templates/default/static/scripts/linenumber.js @@ -0,0 +1,17 @@ +(function() { + var counter = 0; + var numbered; + var source = document.getElementsByClassName('prettyprint source'); + + if (source && source[0]) { + source = source[0].getElementsByTagName('code')[0]; + + numbered = source.innerHTML.split('\n'); + numbered = numbered.map(function(item) { + counter++; + return '' + item; + }); + + source.innerHTML = numbered.join('\n'); + } +})(); diff --git a/templates/default/tmpl/details.tmpl b/templates/default/tmpl/details.tmpl index 941a03de..d3b35522 100644 --- a/templates/default/tmpl/details.tmpl +++ b/templates/default/tmpl/details.tmpl @@ -65,7 +65,7 @@ var self = this;
Source:
diff --git a/templates/default/tmpl/layout.tmpl b/templates/default/tmpl/layout.tmpl index 0acb43b6..827b5acb 100644 --- a/templates/default/tmpl/layout.tmpl +++ b/templates/default/tmpl/layout.tmpl @@ -33,5 +33,6 @@ + diff --git a/test/specs/jsdoc/util/templateHelper.js b/test/specs/jsdoc/util/templateHelper.js index 611da11a..49119f90 100644 --- a/test/specs/jsdoc/util/templateHelper.js +++ b/test/specs/jsdoc/util/templateHelper.js @@ -314,6 +314,11 @@ describe("jsdoc/util/templateHelper", function() { var link = helper.linkto('http://example.com', 'text'); expect(link).toBe('text'); }); + + it('returns a link with a fragment ID if a URL and fragment ID are specified', function() { + var link = helper.linkto('LinktoFakeClass', null, null, 'fragment'); + expect(link).toBe('LinktoFakeClass'); + }); }); describe("htmlsafe", function() {