(function($) { $(function() { if (typeof cssmenu_no_js === 'undefined') { // add subnav toggle $('.subnav').addClass('expand-container'); $('.subnav').prepend( $('.subnav h2').clone().addClass('expand-toggle') ); // highlight menu entry of the current page var href = window.location.href.split('#')[0]; var current; var res = $('#top a, .subnav a').each(function (_, a) { if (a.href == href) { current = a; return false; } }); current = $(current); // direct li parent containing the link current.parent('li').addClass('active'); // topmost li parent, e.g. 'std' current.parents('#top .expand-container').addClass('active'); current.parents('.subnav .expand-container') .addClass('open'); var open_main_item = null; $('.expand-toggle').click(function(e) { var container = $(this).parent('.expand-container'); container.toggleClass('open'); /* In the main menu, let only one dropdown be open at a time. Also close any open main menu dropdown when clicking elsewhere. */ if (open_main_item !== container && open_main_item !== null) { open_main_item.removeClass("open"); } var clicking_main_bar = container.parents("#top").length > 0; var clicking_hamburger = this === $('.hamburger')[0]; if (clicking_main_bar && !clicking_hamburger) { open_main_item = container.hasClass('open') ? container : null; } return false; }); $('html').click(function(e) { var clicking_main_bar = $(e.target).parents("#top").length > 0; if (clicking_main_bar) return; if (open_main_item !== null) { open_main_item.removeClass('open'); } open_main_item = null; }); } $('.search-container .expand-toggle').click(function() { $('#search-query input').focus(); }); // [your code here] rotation for index.html var $examples = $('.your-code-here-extra > pre'); if ($examples.length) { var n = Math.floor(Math.random() * ($examples.length+1)); if (n) $('#your-code-here-default > pre').replaceWith($examples[n-1]); } // Insert the show/hide button if the contents section exists $('.page-contents-header').append('[hide]'); // Event to hide or show the "contents" section when the hide button // is clicked $(".page-contents-header a").click(function () { var elem = $('.page-contents > ol'); if (elem.is(':visible')) { $(this).text("[show]"); elem.hide(); } else { $(this).text("[hide]"); elem.show(); } }); }); })(jQuery); // "This Week in D" integration // setTwid is called from http://arsdnet.net/this-week-in-d/twid-latest.js // which is included in index.html function setTwid(url, title, description) { var twid = $('body#Home .boxes .twid'); twid .empty() .append($('').attr('href', url).text(title)) .append(': ') .append(description); }