Move some expansion logic into generation-time, fix section header links, remove ID from line numbers, fix horizontal scrolling on non-expanded elements

This commit is contained in:
Will Crichton 2021-10-07 09:46:18 -07:00
parent 5584c79597
commit bb383edb69
4 changed files with 54 additions and 40 deletions

View file

@ -1978,12 +1978,16 @@ details.undocumented[open] > summary::before {
font-family: 'Fira Sans';
}
.scraped-example:not(.expanded) .code-wrapper pre.line-numbers,
.scraped-example:not(.expanded) .code-wrapper .example-wrap pre.rust {
.scraped-example:not(.expanded) .code-wrapper pre.line-numbers {
overflow: hidden;
max-height: 240px;
}
.scraped-example:not(.expanded) .code-wrapper .example-wrap pre.rust {
overflow-y: hidden;
max-height: 240px;
}
.scraped-example .code-wrapper .prev {
position: absolute;
top: 0.25em;
@ -2019,7 +2023,7 @@ details.undocumented[open] > summary::before {
.scraped-example:not(.expanded) .code-wrapper:before {
content: " ";
width: 100%;
height: 10px;
height: 5px;
position: absolute;
z-index: 100;
top: 0;
@ -2029,7 +2033,7 @@ details.undocumented[open] > summary::before {
.scraped-example:not(.expanded) .code-wrapper:after {
content: " ";
width: 100%;
height: 10px;
height: 5px;
position: absolute;
z-index: 100;
bottom: 0;

View file

@ -15,7 +15,8 @@
function updateScrapedExample(example) {
var locs = JSON.parse(example.attributes.getNamedItem("data-locs").textContent);
var offset = parseInt(example.attributes.getNamedItem("data-offset").textContent);
var first_line_no = example.querySelector('.line-numbers > span:first-child');
var offset = parseInt(first_line_no.innerHTML) - 1;
var locIndex = 0;
var highlights = example.querySelectorAll('.highlight');
@ -68,11 +69,8 @@
example.querySelector('.next').remove();
}
var codeEl = example.querySelector('.rust');
var codeOverflows = codeEl.scrollHeight > codeEl.clientHeight;
var expandButton = example.querySelector('.expand');
if (codeOverflows) {
// If file is larger than default height, give option to expand the viewer
if (expandButton) {
expandButton.addEventListener('click', function () {
if (hasClass(example, "expanded")) {
removeClass(example, "expanded");
@ -81,10 +79,6 @@
addClass(example, "expanded");
}
});
} else {
// Otherwise remove expansion buttons
addClass(example, 'expanded');
expandButton.remove();
}
// Start with the first example in view