forked from pydata/patsy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshow-code.js
More file actions
38 lines (34 loc) · 1.34 KB
/
show-code.js
File metadata and controls
38 lines (34 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Stolen from statsmodels and fixed up
function htmlescape(text){
return (text.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'"))
}
function scrapeText(codebox){
/// Returns input lines cleaned of prompt1 and prompt2
var lines = codebox.split('\n');
var newlines = new Array();
$.each(lines, function() {
if (this.match(/^In \[\d+]: /)){
newlines.push(this.replace(/^(\s)*In \[\d+]: /,""));
}
else if (this.match(/^(\s)*\.+:/)){
newlines.push(this.replace(/^(\s)*\.+: /,""));
}
}
);
return newlines.join('\\n');
}
$(document).ready(
function() {
// grab all code boxes
var ipythoncode = $(".highlight-ipython");
$.each(ipythoncode, function() {
var code = scrapeText($(this).text());
// give them a facebox pop-up with plain text code
$(this).append('<span style="text-align:right; display:block; margin-top:-10px; margin-left:10px; font-size:60%"><a href="javascript: jQuery.facebox(\'<textarea cols=80 rows=10 readonly style=margin:5px onmouseover=javascript:this.select();>'+htmlescape(htmlescape(code))+'</textarea>\');">View Code</a></span>');
$(this,"textarea").select();
});
});