From 6ce7a5a36fdaa7719d452a3bb590359f6bdaeee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=BAbal=20Mart=C3=ADn?= Date: Thu, 14 Nov 2013 16:58:38 +0100 Subject: [PATCH] Make anchors work again and highlight the anchored line. --- .../default/static/scripts/linenumber.js | 26 ++++++++++--------- .../default/static/styles/jsdoc-default.css | 5 ++++ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/templates/default/static/scripts/linenumber.js b/templates/default/static/scripts/linenumber.js index 613865d0..f7848181 100644 --- a/templates/default/static/scripts/linenumber.js +++ b/templates/default/static/scripts/linenumber.js @@ -1,17 +1,19 @@ (function() { - var counter = 0; - var numbered; - var source = document.getElementsByClassName('prettyprint source'); + var source = document.getElementsByClassName('prettyprint source linenums'); + var i = 0, lineNumber = 0, lineId, lines, totalLines, anchorHash; if (source && source[0]) { - source = source[0].getElementsByTagName('code')[0]; + anchorHash = document.location.hash.substring(1); + lines = source[0].getElementsByTagName('li'); + totalLines = lines.length; - numbered = source.innerHTML.split('\n'); - numbered = numbered.map(function(item) { - counter++; - return '' + item; - }); - - source.innerHTML = numbered.join('\n'); + for (; i < totalLines; i++) { + lineNumber++; + lineId = 'line' + lineNumber; + lines[i].id = lineId; + if (lineId == anchorHash) { + lines[i].className += ' selected'; + } + } } -})(); +})(); \ No newline at end of file diff --git a/templates/default/static/styles/jsdoc-default.css b/templates/default/static/styles/jsdoc-default.css index d99a598d..d10f75f8 100644 --- a/templates/default/static/styles/jsdoc-default.css +++ b/templates/default/static/styles/jsdoc-default.css @@ -251,6 +251,11 @@ h6 border-left: 3px #ddd solid; } +.prettyprint .linenums li.selected code +{ + background-color: lightyellow; +} + .params, .props { border-spacing: 0;