(function(){ var $button = $("
< >
").click(function(){ var html = $(this).parent().html(); html = cleanSource(html); $("#source-modal pre").text(html); $("#source-modal").modal(); }); $('.bs-component [data-toggle="popover"]').popover(); $('.bs-component [data-toggle="tooltip"]').tooltip(); $(".bs-component").hover(function(){ $(this).append($button); $button.show(); }, function(){ $button.hide(); }); function cleanSource(html) { var lines = html.split(/\n/); lines.shift(); lines.splice(-1, 1); var indentSize = lines[0].length - lines[0].trim().length, re = new RegExp(" {" + indentSize + "}"); lines = lines.map(function(line){ if (line.match(re)) { line = line.substring(indentSize); } return line; }); lines = lines.join("\n"); return lines; } })();