Beyond WorkingWiki: a project for general reproducible research on the web

Publish Date: 
Sat, 10/18/2014 - 14:40

Here's a preview of things to come.

Over the last few years we've developed WorkingWiki, a system that lets you create, maintain, and publish research data, code, and manuscripts within a wiki. This provides a straightforward way to make the research transparent and reproducible.

Since not everybody wants to use a wiki, and many people are moving towards using static website and blogging tools like GitHub Pages with Jekyll, we've started expanding WorkingWiki into a tool for those websites as well as wikis.

This will provide a way to publish blog posts and web pages including research data, source code, figures, tables, citations and manuscripts in a transparent and reproducible way. Instead of creating some figures and uploading the image files into a blog post, you'll be able to write the blog posts using special directives telling it to update and include the figures directly from the code and data that make it.

This project is not quite ready for downloading, but here's a proof of concept:

This is a demo blog post showcasing some mathematical figures generated by a sequence of R scripts and makefiles. In this case, all the R and makefile code is embedded in the one file I wrote containing the blog-post text. I could have also provided the source code in a working directory and directed the system to run the code there.

Other people have developed a way to write web pages and blog posts using Knitr, a system for embedding R and other code in your text. Our system goes beyond that in that

  • it supports the full range of programming languages "out of the box", and lets you combine them at will, since all its computing is driven by makefiles that make output files from input files at each step, in whatever way is appropriate;
  • its deep integration with make gives you caching of results, so that resource-intensive computations are not run over again every time you update the blog post or page.

Our "working markup" processor is being built as a general-purpose text pre- and post-processing script, so it will be usable with a wide range of website generation environments and markup languages.

[See also More details on "Beyond WorkingWiki".]

Post new comment

Drupal theme by Kiwi Themes.