Skip to content

Commit

Permalink
[release-branch.go1.7] godoc: allow nested toggles and toggles with <…
Browse files Browse the repository at this point in the history
…a name>

Toggles can now be nested within one another. They can also be
referenced using an <a> element with the name attribute, rather than
an element with the "id" attribute.

Updates golang/go#17574.

Change-Id: I43c17499a6879e983a79a74e14c99128296288e1
Reviewed-on: https://go-review.googlesource.com/34825
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-on: https://go-review.googlesource.com/35094
Reviewed-by: Chris Broadfoot <cbro@golang.org>
  • Loading branch information
broady committed Jan 10, 2017
1 parent 05ca1f0 commit 9d32829
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 14 deletions.
19 changes: 16 additions & 3 deletions godoc/static/godocs.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,13 +113,19 @@ function generateTOC() {

function bindToggle(el) {
$('.toggleButton', el).click(function() {
if ($(this).closest(".toggle, .toggleVisible")[0] != el) {
// Only trigger the closest toggle header.
return;
}

if ($(el).is('.toggle')) {
$(el).addClass('toggleVisible').removeClass('toggle');
} else {
$(el).addClass('toggle').removeClass('toggleVisible');
}
});
}

function bindToggles(selector) {
$(selector).each(function(i, el) {
bindToggle(el);
Expand Down Expand Up @@ -239,10 +245,17 @@ function fixFocus() {
}

function toggleHash() {
var hash = $(window.location.hash);
if (hash.is('.toggle')) {
hash.find('.toggleButton').first().click();
// Open all of the toggles for a particular hash.
var els = $(window.location.hash + ", a[name='" + window.location.hash.substring(1) + "']");
while (els.length) {
for (var i = 0; i < els.length; i++) {
var el = $(els[i]);
if (el.is('.toggle')) {
el.find('.toggleButton').first().click();
}
}
els = el.parent();
}
}

function personalizeInstallInstructions() {
Expand Down
27 changes: 20 additions & 7 deletions godoc/static/static.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions godoc/static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -445,10 +445,10 @@ div#blog .read {
}

.toggleButton { cursor: pointer; }
.toggle .collapsed { display: block; }
.toggle .expanded { display: none; }
.toggleVisible .collapsed { display: none; }
.toggleVisible .expanded { display: block; }
.toggle > .collapsed { display: block; }
.toggle > .expanded { display: none; }
.toggleVisible > .collapsed { display: none; }
.toggleVisible > .expanded { display: block; }

table.codetable { margin-left: auto; margin-right: auto; border-style: none; }
table.codetable td { padding-right: 10px; }
Expand Down

0 comments on commit 9d32829

Please sign in to comment.