/* */ (function($) { $(function () { // Collect content to keep // var main_content = $(".main_content").html(); var attribution = $(".titlechooser .attribution").html(); var footer = $("#footer").html(); var title = $("title").html(); var userlink = $("#titlebar-top .topnavmenu li:nth-child(2)").html(); var nodelets = []; var userid = userlink.match(/node_id=([0-9]+)/)[0].substr(8); $(".nodelet").each(function(ix,e) { if (e.id == "Free_Nodelet") return; var nodelet_title = $(e).find("th.nodelet_head span.title").html(); var nodelet_body = $(e).find("td.nodelet_body").html(); nodelets.push({ title: nodelet_title, body: nodelet_body }); }); var PM_NAVBAR = '' + ''; // Clean sweep and rebuild document skeleton // $("head, body").empty(); $("head").append(""); $("head title").html( title ); $("head").append("<link rel='stylesheet' type='text/css' href='//buzzword.org.uk/2014/pm/bootstrap.min.css' />"); $("head").append("<link rel='stylesheet' type='text/css' href='//buzzword.org.uk/2014/pm/highlight.css' />"); $("head").append("<link rel='stylesheet' type='text/css' href='//buzzword.org.uk/2014/pm/pm2.css' />"); $("body").append( "<nav />" + "<header class='container'>" + "<div class='row'><h1 class='col-sm-12'/></div>" + "</header>" + "<div class='container'>" + "<div class='row'>" + "<article class='col-sm-9'><p id='main_attribution' role='contentinfo' /></article>" + "<aside class='col-sm-3' />" + "</div>" + "<div class='row'>" + "<footer class='col-sm-12' />" + "</div>" + "</div>" ); $("body header h1").html( title ); $("body nav").html( PM_NAVBAR ); if (attribution) $("#main_attribution").html( '<span class="attribution">'+attribution+'</span>' ); $("body article").append( main_content ); for (var i in nodelets) { $("body aside").append("<section />"); var section = $("body aside > section:last"); section.append("<h1 />"); section.find("h1").html( nodelets[i].title ); section.append("<div />"); section.find("div").html( nodelets[i].body ); } $("body footer").html( footer ); $("#writeups").addClass("table").addClass("table-striped").addClass("table-condensed").find('tr').each(function (i,e) { var row = $(e); var rep = row.find("td:nth-child(3)").text(); if (rep >= 30) row.addClass("success"); }); $("body#id-3628 article table").addClass("table").addClass("table-striped").addClass("table-condensed"); var url = window.location; $('header nav a').filter(function() { return this.href == url; }).parent().addClass('active').closest(".dropdown").addClass("dropdown-with-active"); $('p.code').each(function (i, c) { var code = $(c).find('tt.codetext').text().replace(/\u00a0/g,' ').replace(/\s+$/,''); var dl = $(c).find('span.embed-code-dl'); var pre = $( '<pre class="blockcode"><code>' + $('<div/>').text(code).html() + '</code></pre>' ); var footer = $('<div style="text-align:right"><small></small></div>'); if (dl.html()) footer.find('small').append(dl.html()); $(c).after(footer); $(c).replaceWith(pre); }); $('.adjunct-links a').each(function (i, e) { var $e = $(e); var t = $e.text(); var label = t.substr(1, t.length-2); if (label == "/msg") { label = "<i class='glyphicon glyphicon-envelope'></i>"; } else if (label == "reply") { label = "<i class='glyphicon glyphicon-share-alt'></i>"; } else if (label == "d/l") { label = "<i class='glyphicon glyphicon-download-alt'></i>"; } else if (label == "select") { label = "<i class='glyphicon glyphicon-check'></i>"; } $e.addClass("btn").addClass("btn-default").html(label).attr("title", t).css({padding:"4px",margin:"4px"}); }); hljs.configure({ languages: ["perl", "bash", "css", "xml", "diff", "json", "javascript", "sql", "ini", "apache", "cpp", "makefile"] }); $('pre.blockcode code').each(function(i, block) { hljs.highlightBlock(block); }); function supports_html5_storage() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; } } var avatar_cache = supports_html5_storage() ? localStorage : { "Anonymous Monk": "/images/userincoming/Anonymous_Monk.jpeg" }; $('span.attribution').each(function (i,e) { var $attrib = $(e); function render_avatar (name) { if ( avatar_cache[name] == "..." ) { window.setTimeout( function () { render_avatar(name); }, 1000 ); } else if ( avatar_cache[name] != "-" ) { $attrib.closest("td,#main_attribution").prepend( "<img src='"+avatar_cache[name]+"' class='img img-avatar'>" ); } } var name = $attrib.find("a").text().trim(); if ( avatar_cache[name] ) { render_avatar(name); } else { avatar_cache[name] = '...'; var url = $attrib.find('a')[0].href + "&displaytype=xml"; $.get(url, function (data) { var imgsrc = $(data).find('field[name="imgsrc"]').text().trim(); if (imgsrc.match(/[0-9]+/)) { avatar_cache[name] = "/?node_id=" + imgsrc; } else if (imgsrc) { avatar_cache[name] = "/" + imgsrc; } else { avatar_cache[name] = "-"; } render_avatar(name); }); } }); }); })(jQuery);