To publish this blog, I've been using the
Pelican static blogging package. And
because working in the IPython
notebook is such a great experience
for scientific computing, the liquid_tags
Pelican
plugin
by Jake Vanderplas
has been indispensable. (Jake has a really interesting
blog, too.)
Using the plugin, you can do all of your work in a notebook --- writing the content in Markdown, using LaTeX for equations, and writing code in code cells --- and then turn the whole thing (highlighting and all) into a blog post.
For the last post, I decided to solve a math puzzle in Julia. Thanks to the IJulia project, it's possible to program Julia in an IJulia notebook just like you would with Python in an IPython notebook. In fact, the IPython project has recently spun off the completely language-agnostic Project Jupyter, which aims to make the IPython notebook experience available for any language. (Support already exists or is under active development for Ruby, Julia, Haskell, and R.)
The one roadblock with my current set-up in doing the last post was that
liquid_tags
didn't know how to highlight notebooks in languages other
than Python. Because the Pygments library is
used for syntax highlighting, all of the necessary machinery was in
place to highlight almost any language
--- it just hadn't been hooked up yet within the notebook plugin.
To make that work, I shot a quick pull request to the pelican-plugins repo. (Thanks to Jake and Justin Mayer, the code was reviewed and merged within a few hours!)
The change allows you to specify a language argument when embedding a notebook:
{% notebook filename.ipynb language[julia] %}
Hopefully, other people will find this helpful, especially as Project Jupyter continues to add support for more and more languages.