Waiting for latch...

webpipe

webpipe is server and a set of tools which bridge the Unix shell and the web. You create files in a terminal (using R, bash, etc.), and they will be rendered immediately in your browser.

It gets rid of the Alt-Tab F5 dance when creating content.

webpipe screenshot

Setup

Put wp in your PATH. For example:

$ ln -s /path/to/webpipe/wp.sh ~/bin/wp

Do one-time initialization of your ~/webpipe dir:

$ wp init

Create a convenience symlink for the R library:

$ ln -s /path/to/webpipe/webpipe.R ~/webpipe

R Plots

The initial motivation for webpipe was to show R plots in a browser, avoiding the remote X11 protocol in favor of HTTP.

First start the renderer and server:

$ wp run

This creates a new "session", e.g. 2014-04-03. Files can be put in the ~/webpipe/input directory, and then they are rendered to HTML in the ~/webpipe/s/2014-02-17 directory.

Visit http://localhost:8989/ in your browser.

Then in R, make a plot using the the wrapper functions in webpipe.R:

$ R
...
> source('~/webpipe/webpipe.R')
>
> web.plot(1:10)
> web.hist(rnorm(10))

Instead of opening up an desktop window, the plot will be pushed to your browser via AJAX.

ggplot works easily as well:

> library(ggplot2)
> p = ggplot(mtcars, aes(wt, mpg)) + geom_point()
> web.plot(p)

Shell Usage

You can also display files from the shell:

$ wp show mydata.csv

With no file, show reads from stdin.

$ ls -l | wp show

Use wp help to see more actions.

File Types

The renderer process is called xrender, which shells out to various plugins. It understands .png files, plain text, HTML, and CSV files. (TODO: document the full list)

More Docs

Publishing

You can publish entries to "shared hosting", so you don't have to keep your server up.

TODO ...

Advanced Usage

TODO ...

Known Issues

Feedback

Contact __EMAIL_ADDRESS__.