Working Markup: makefile-driven literate programming for reproducible web publishing

Publish Date: 
Mon, 11/03/2014 - 12:43

[I hope that's not too many buzzwords for one title! -lw]

Announcing Working Markup, a text-processing tool that supports reproducible research by providing a streamlined way to develop and document the various computations you do in your research as steps embedded in web pages and blog posts, written in arbitrary markup languages.

For example, you can embed some R code in your markup source by inserting a "source-file" tag:

  <source-file filename="demo.R">
  print 5 * 7;
  curve( x * exp(-x), 0, 5 );

And then run the code and display the output by inserting "project-file" tags:

  <project-file filename="demo.Rout"/>
  <project-file filename="demo.Rout.png"/>

The transformation from source files to project files is managed by makefiles, so authors can define their own rules to include arbitrary input and output types, and arbitrary computational processes producing one from the other. We provide ready-made rules for R, LaTeX, and some other file types.

The Working Markup processor is implemented as a wrapper around an arbitrary markup-processing step, so you can use source-file and project-file tags in whatever style of markup text you like.

We provide a plugin integrating Working Markup processing into the Jekyll website-authoring system, so it can be readily used in web pages and blog posts published on GitHub Pages or other static webhosting services.

For details and installation instructions, see

See also:

Post new comment

Drupal theme by Kiwi Themes.