// From docs.scala-lang.org function styleCode() { if (typeof disableStyleCode != "undefined") { return; } $(".codetabs pre code").parent().each(function() { if (!$(this).hasClass("prettyprint")) { var lang = $(this).parent().data("lang"); if (lang == "python") { lang = "py" } if (lang == "bash") { lang = "bsh" } $(this).addClass("prettyprint lang-"+lang+" linenums"); } }); console.log("runningPrettyPrint()") prettyPrint(); } function codeTabs() { var counter = 0; var langImages = { "scala": "img/scala-sm.png", "python": "img/python-sm.png", "java": "img/java-sm.png" }; $("div.codetabs").each(function() { $(this).addClass("tab-content"); // Insert the tab bar var tabBar = $(''); $(this).before(tabBar); // Add each code sample to the tab bar: var codeSamples = $(this).children("div"); codeSamples.each(function() { $(this).addClass("tab-pane"); var lang = $(this).data("lang"); var image = $(this).data("image"); var notabs = $(this).data("notabs"); var capitalizedLang = lang.substr(0, 1).toUpperCase() + lang.substr(1); var id = "tab_" + lang + "_" + counter; $(this).attr("id", id); if (image != null && langImages[lang]) { var buttonLabel = "" + capitalizedLang + ""; } else if (notabs == null) { var buttonLabel = "" + capitalizedLang + ""; } else { var buttonLabel = "" } tabBar.append( '
  • ' + buttonLabel + '
  • ' ); }); codeSamples.first().addClass("active"); tabBar.children("li").first().addClass("active"); counter++; }); $("ul.nav-tabs a").click(function (e) { // Toggling a tab should switch all tabs corresponding to the same language // while retaining the scroll position e.preventDefault(); var scrollOffset = $(this).offset().top - $(document).scrollTop(); $("." + $(this).attr('class')).tab('show'); $(document).scrollTop($(this).offset().top - scrollOffset); }); } function makeCollapsable(elt, accordionClass, accordionBodyId, title) { $(elt).addClass("accordion-inner"); $(elt).wrap('
    ') $(elt).wrap('
    ') $(elt).wrap('
    ') $(elt).parent().before( '
    ' + '' + title + '' + '
    ' ); } function viewSolution() { var counter = 0 $("div.solution").each(function() { var id = "solution_" + counter makeCollapsable(this, "", id, '' + '' + "View Solution"); counter++; }); } $(document).ready(function() { codeTabs(); viewSolution(); $('#chapter-toc').toc({exclude: '', context: '.container'}); $('#chapter-toc').prepend('

    In This Chapter

    '); makeCollapsable($('#global-toc'), "", "global-toc", "Show Table of Contents"); //styleCode(); });