Reporter is a framework for publishing "literate data analysis." Crudely, it's a fancy HTML template with a toggle button for showing/hiding code and other inputs. Less crudely, it tries to resolve the tension, or bridge the gap, between showing your work and communicating with non-technical readers. To learn more, see a live example or longer explanation. To get started, read on.
To run Reporter, clone this repository onto your computer:
git clone https://github.com/jsvine/reporter
And then install the required Ruby gems:
gem install jekyll kramdown sanitize crochet
_posts/ directory inside the directory where this README exists. Place the IPython notebooks (
.ipynb files) you want inside that directory, just like you would do for Markdown files in a standard Jekyll project. (You can still put Markdown files in the directory; they'll get processed as usual.)
Rather than use YAML front-matter, Reporter looks for posts variables in
metadata object, which is automatically present at the top of every such file. (
.ipynb files are, in fact, just specalized JSON objects.) But Reporter makes sure that you don't need to set any, that you can use IPython notebooks without any modifications. For instance, you don't need to a specific
date variable for notebooks, either in the file path or the metadata, though you can if you'd like to. The mtime plugin sets posts' dates, where not specified, to the last time the file was modified.
Other than that, you run Reporter just like you would any other Jekyll project:
jekyll build to generate the site,
jekyll serve to build the site and preview it on
You can change the site title, intro, and footer in _config.yml.
Reporter is licensed under the MIT License. See LICENSE.txt for more details.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Reques