I started experimenting with Jekyll a couple of months ago.

Jekyll is a static web site generator, very well suited for blog posts, but can be used to create traditional web pages as well.

To remember how to set it up in the future, I’ll include a few notes about the setup process here. I should state that I’m running ubuntu 14.04, so the steps I took probably won’t work unmodified for other distributions or releases.

Installing Jekyll

# Installing jekyll
sudo apt-get install ruby ruby-dev make gcc nodejs
sudo gem install jekyll --no-rdoc --no-ri

Creating a first test project

# Creating a first test project called jekyllTest
jekyll new jekyllTest

You can actually start serving the project directly to see what the default site looks like. Otherwise, Jekyll have a really nice documentation if you want to dig in and start changing your newly generated site.

Start serving the project

# Start serving it locally at port 4001
cd jekyllTest/
jekyll serve --port 4001 --watch

The jekyll serve --port 4001 command will print out the adress which the page can be reached at from an ordinary web browser on your system.

My installed version of jekyll (2.5.3) don’t actually need the --watch option. Since jekyll 2.4, the default behaviour is to always regenerate the site if files are changed.

Unfortunately, all files and directories are not watched. I’ve never seen the site regenerate when I for instance change the configuration file (_config.yml), so I have to stop and restart the jekyll serve command in some cases.

Some useful links

Ubuntu 14.04 installation instructions for jekyll: jekyll-install-ubuntu

Example photo gallery

Kramdown syntax

MathJax with Jekyll (for all your LaTeX desires, using MathJax).

Some LaTeX symbols.