To prepare for the upcoming job search, I just revamped my personal webpage and learned some new tools in the process.
The new site uses
Jekyll,
a static site generator, which allows me to cleanly separate the layout and
content of the site and Jekyll generates the final HTML files that you see in
the browser. This makes adding content easy, removing most of the boilerplate
code. For example, adding a blog post to the site is as simple as dropping a
new file (HTML or Markdown) with just the post content in the _posts
folder.
I’m also using Twitter Bootstrap for the UI elements (and, shamelessly, design inspiration).
Finally, I’m using Sass, an extension of CSS which allows the definition of variables and macros, among other things. This allows me to (for example) define a color scheme at the top of the site-wide style file, which is then compiled into plain CSS. Jekyll takes care of this last step automatically, so there’s no added complexity to the build process.
Jekyll also makes it really easy to include syntax-highlighted code:
from pylab import *
def jackknife(X):
return (X - sum(X))/(len(X)-1)
and equations using MathJax:
The framework was easily set up in an afternoon, and already I feel the result is much easier on the eyes and more maintanable than my previous attempt.