65 lines
2.6 KiB
HTML
65 lines
2.6 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>R Notebook: A knitr app on OpenCPU</title>
|
|
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
|
|
<!-- Styles for R syntax highlighter -->
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/styles/github.min.css">
|
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
|
|
<style type="text/css">
|
|
textarea {
|
|
font-size: 12px;
|
|
font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
|
|
width: 99%;
|
|
}
|
|
</style>
|
|
<!-- R syntax highlighter -->
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/highlight.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/languages/r.min.js"></script>
|
|
<script>hljs.initHighlightingOnLoad();</script>
|
|
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<form action="https://public.opencpu.org/ocpu/library/base/R/identity/json" method="POST" id="knitForm">
|
|
<textarea name="x" class="form-control" rows=10></textarea>
|
|
<div><button type="button" class="btn btn-primary" id="knit"><span class="glyphicon glyphicon-play"></span> Convert</button></div>
|
|
<!-- the knitting result will be rendered inside this div -->
|
|
<div id="result"></div>
|
|
</form>
|
|
</div>
|
|
<script>
|
|
$('textarea[name="x"]').val('Start typing here...\n\n```{r test, fig.width=4, fig.height=4}\n# write R code here\npar(mar = c(4, 4, .1, .1))\nsmoothScatter(rnorm(500), rnorm(500))\n```\n\nThe value of pi is `r pi`.');
|
|
|
|
$('#knit').click(function() {
|
|
$(this).attr('class', 'btn disabled');
|
|
$('#knitForm').submit();
|
|
});
|
|
/* attach a submit handler to the form */
|
|
$('#knitForm').submit(function(event) {
|
|
|
|
/* stop form from submitting normally */
|
|
event.preventDefault();
|
|
|
|
/* get some values from elements on the page: */
|
|
var $form = $( this ),
|
|
term = $form.find('textarea[name="x"]').val().replace(/\\/g, '\\\\').replace(/"/g, '\\"'),
|
|
url = $form.attr('action'),
|
|
rcode = 'library(knitr)\n' +
|
|
'knit2html(text = "' + term + '", template = FALSE)';
|
|
/* Send the data using post and put the results in a div */
|
|
$.post(url, { x: rcode },
|
|
function( data ) {
|
|
$("#result").html(data[0]);
|
|
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
|
|
})
|
|
.complete(function() {$('#knit').attr('class', 'btn btn-primary');})
|
|
.error(function() { alert("An error occurred!"); });
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|