Danger Training exercise. ## Results | Topic | Clicks | | --- | --- | | Find the getting started guide | 1 | | Document API described with OpenAPI | 3 | | Set up your navbar, footer, and sidebar. | 2 | | Change your logo. | 5 | | Change the color of a heading. | 7 | | Revert changes. | 5 | | Add admonition. | 2 | | Single source content from another repo. | 3 | | Version content. | 2 | | Find the changelog. | 1 | | Localize the content. | 2 | | Protect the content behind a login. | 3 | | Make advanced role based access where different team members can access different content. | 2 | | Add a multi-product switcher. | 4 | | Use a CICD to single-source content. | 3 | | Add cards or tiles in Markdown pages. | 3 | | Adjust SEO tags. | 2 | script (function() { function initHighlightRows() { // Find all tables with our specific class const tables = document.querySelectorAll('.results'); tables.forEach(table => { // First, clean up any existing data attributes table.querySelectorAll('[data-high-value]').forEach(el => { el.removeAttribute('data-high-value'); }); // Find all rows in the tbody const rows = table.querySelectorAll('tbody tr'); rows.forEach(row => { // Get the last cell in each row const lastCell = row.querySelector('td:last-child'); if (lastCell) { // Convert cell content to number and check if >= 4 const value = parseInt(lastCell.textContent.trim()); if (!isNaN(value) && value >= 4) { row.setAttribute('data-high-value', 'true'); } } }); }); } // Run when DOM is loaded if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initHighlightRows); } else { initHighlightRows(); } // Debounce function to prevent too many rapid calls function debounce(func, wait) { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; } // Debounced version of initHighlightRows const debouncedInit = debounce(initHighlightRows, 100); // Observer with debounced callback const observer = new MutationObserver(debouncedInit); // Start observing the document for changes observer.observe(document.body, { childList: true, subtree: true }); })(); ## What made you smile? * Overall did not have any trobule navigating through sidebar, navbar or TOC. ## What did you find confusing? * Sometimes sidebar navigation did not scroll to the visible part of the screen.