There’s been a lot of justifiable excitement in the R community about Yihui Xie’s great work, and most recently the incorporation of his knitr package into the RStudio software. Knitr is seen, justifiably, as a worthy successor to SWeave for dynamic, beautiful report generation. It is all that, but as an Org mode user, I already have something better than Sweave for both reproducible research and literate programming, which works with more than 30 different computer languages, not just R. This is not to mention the astonishing amount of functionality that Org mode provides for any number of problems. I mean, really: it’s Emacs! (There are probably some great use cases for using knitr together with Org mode, but I haven’t come across any myself.)
But then Markus Gesmann wrote a interesting blog post about using knitr and the googleVis package to produce interactive HTML presentations by converting the knit-produced markdown to Slidy, and I wanted to do the same in Org mode. Markus gamely provided the Rmd source for his own slide show in a GitHub gist, so with his permission I borrowed some of the same visualizations (not the whole thing, which would be shameless) in an Org mode demo.
So instead I’m using org-slidy, which exports to Slidy, the same format Markus used.
It’s easy if you already have emacs, and pretty straightforward even if you don’t.
- Download org-slidy
- Put some files in your source directory (the .js, .css, and .org files), and make sure emacs can find org-htmlslidy.el
- M-x load-library org-htmlslidy
- Put the following in your org file:
#+TITLE: #+AUTHOR: #+BIND: org-export-html-preamble nil #+SETUPFILE: ~/Dropbox/_support/org/htmlslidy.org
- Export to HTML and open in your browser with C-c C-e b
Any R code source blocks can be done as usual. The googleVis package creates HTML code for embedding into web pages, so the way to specify this is with
#+BEGIN_SRC R :results output html, which will capture the output of print() statments on googleVis created R objects.
An example slideshow using R sourcecode blocks and googleVis is here (be sure to set your browser to full screen mode):
And you can get the actual Org mode file in a gist on GitHub.